diff options
Diffstat (limited to 'aarch64_small')
| -rw-r--r-- | aarch64_small/armV8.h.sail | 3 | ||||
| -rw-r--r-- | aarch64_small/armV8.lem | 6925 | ||||
| -rw-r--r-- | aarch64_small/armV8.ml | 6926 | ||||
| -rw-r--r-- | aarch64_small/armV8_A64_lib.sail | 186 | ||||
| -rw-r--r-- | aarch64_small/armV8_common_lib.sail | 368 | ||||
| -rw-r--r-- | aarch64_small/armV8_embed.lem | 5561 | ||||
| -rw-r--r-- | aarch64_small/armV8_embed_sequential.lem | 5561 | ||||
| -rw-r--r-- | aarch64_small/armV8_embed_types.lem | 659 | ||||
| -rw-r--r-- | aarch64_small/armV8_lib.h.sail | 34 | ||||
| -rw-r--r-- | aarch64_small/armV8_pstate.sail | 4 | ||||
| -rw-r--r-- | aarch64_small/armV8_toFromInterp.lem | 702 | ||||
| -rw-r--r-- | aarch64_small/prelude.sail | 31 |
12 files changed, 322 insertions, 26638 deletions
diff --git a/aarch64_small/armV8.h.sail b/aarch64_small/armV8.h.sail index 30309e30..dc28ffde 100644 --- a/aarch64_small/armV8.h.sail +++ b/aarch64_small/armV8.h.sail @@ -259,6 +259,7 @@ let IMPLEMENTATION_DEFINED : IMPLEMENTATION_DEFINED_type = struct { /* FIXME: ask Kathy what should we do with this */ let UNKNOWN = 0 - +val UNKNOWN_VEC: forall 'N, 'N >= 0. implicit('N) -> bits('N) +function UNKNOWN_VEC(N) = (replicate_bits(0b0, 'N)) : bits('N) /* external */ val speculate_exclusive_success : unit -> bool effect {exmem} diff --git a/aarch64_small/armV8.lem b/aarch64_small/armV8.lem deleted file mode 100644 index c1ae6726..00000000 --- a/aarch64_small/armV8.lem +++ /dev/null @@ -1,6925 +0,0 @@ -(* Generated by Sail from armV8.sail. *) -open import Interp_ast -open import Pervasives -(*Supply common numeric constants at the right type to alleviate repeated calls to typeclass macro*) -let zero : integer = integerFromNat 0 -let one : integer = integerFromNat 1 -let two : integer = integerFromNat 2 -let three : integer = integerFromNat 3 -let four : integer = integerFromNat 4 -let five : integer = integerFromNat 5 -let six : integer = integerFromNat 6 -let seven : integer = integerFromNat 7 -let eight : integer = integerFromNat 8 -let fifteen : integer = integerFromNat 15 -let sixteen : integer = integerFromNat 16 -let twenty : integer = integerFromNat 20 -let twentythree : integer = integerFromNat 23 -let twentyfour : integer = integerFromNat 24 -let thirty : integer = integerFromNat 30 -let thirtyone : integer = integerFromNat 31 -let thirtytwo : integer = integerFromNat 32 -let thirtyfive : integer = integerFromNat 35 -let thirtynine : integer = integerFromNat 39 -let forty : integer = integerFromNat 40 -let fortyseven : integer = integerFromNat 47 -let fortyeight : integer = integerFromNat 48 -let fiftyfive : integer = integerFromNat 55 -let fiftysix : integer = integerFromNat 56 -let fiftyseven : integer = integerFromNat 57 -let sixtyone : integer = integerFromNat 61 -let sixtythree : integer = integerFromNat 63 -let sixtyfour : integer = integerFromNat 64 -let onetwentyseven : integer = integerFromNat 127 -let onetwentyeight : integer = integerFromNat 128 -let defs = Defs [ -(DEF_default (DT_aux (DT_order (Ord_aux Ord_dec Unknown)) Unknown)); -(DEF_type (TD_aux (TD_abbrev (Id_aux (Id "boolean") Unknown) (Name_sect_aux Name_sect_none Unknown) (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)) (Unknown, (Just ((T_id "bit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_abbrev (Id_aux (Id "integer") Unknown) (Name_sect_aux Name_sect_none Unknown) (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "int") Unknown)) Unknown)) Unknown)) (Unknown, (Just ((T_abbrev (T_id "int") (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_abbrev (Id_aux (Id "uinteger") Unknown) (Name_sect_aux Name_sect_none Unknown) (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "nat") Unknown)) Unknown)) Unknown)) (Unknown, (Just ((T_abbrev (T_id "nat") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_abbrev (Id_aux (Id "reg_size") Unknown) (Name_sect_aux Name_sect_none Unknown) (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant five) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_abbrev (Id_aux (Id "reg_index") Unknown) (Name_sect_aux Name_sect_none Unknown) (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_app (Id_aux (Id "range") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant zero) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtyone) Unknown)) Unknown)]) Unknown)) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_abbrev (Id_aux (Id "SIMD_index") Unknown) (Name_sect_aux Name_sect_none Unknown) (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_app (Id_aux (Id "range") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant zero) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtytwo) Unknown)) Unknown)]) Unknown)) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "_PC") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "_PC")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant seven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant eight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "TxNestingLevel") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "TxNestingLevel")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_register (Id_aux (Id "TMSTATUS_type") Unknown) (Nexp_aux (Nexp_constant sixtythree) Unknown) (Nexp_aux (Nexp_constant zero) Unknown) [((BF_aux (BF_single 16) Unknown), (Id_aux (Id "IMP") Unknown)); ((BF_aux (BF_single 15) Unknown), (Id_aux (Id "DBG") Unknown)); ((BF_aux (BF_single 14) Unknown), (Id_aux (Id "MEM") Unknown)); ((BF_aux (BF_single 13) Unknown), (Id_aux (Id "ERR") Unknown)); ((BF_aux (BF_single 12) Unknown), (Id_aux (Id "INV") Unknown)); ((BF_aux (BF_single 11) Unknown), (Id_aux (Id "SIZE") Unknown)); ((BF_aux (BF_single 10) Unknown), (Id_aux (Id "NEST") Unknown)); ((BF_aux (BF_single 9) Unknown), (Id_aux (Id "ABRT") Unknown)); ((BF_aux (BF_single 8) Unknown), (Id_aux (Id "RTRY") Unknown)); ((BF_aux (BF_range 4 0) Unknown), (Id_aux (Id "REASON") Unknown)); ]) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "TMSTATUS_type") Unknown)) Unknown) (Id_aux (Id "TMAbortEffect") Unknown)) (Unknown,(Just ((T_abbrev (T_id "TMSTATUS_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "TMAbortEffect")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "TMSTATUS_type") Unknown)) Unknown) (Id_aux (Id "TMStartEffect") Unknown)) (Unknown,(Just ((T_abbrev (T_id "TMSTATUS_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "TMStartEffect")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R30") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R30")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R29") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R29")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R28") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R28")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R27") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R27")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R26") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R26")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R25") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R25")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R24") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R24")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R23") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R23")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R22") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R22")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R21") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R21")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R20") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R20")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R19") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R19")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R18") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R18")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R17") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R17")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R16") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R16")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R15") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R15")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R14") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R14")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R13") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R13")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R12") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R12")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R11") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R11")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R10") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R10")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R9") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R9")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R8") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R8")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R7") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R7")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R6") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R6")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R5") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R5")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R4") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R4")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R3") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R3")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R2") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R2")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R1") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R1")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R0") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "R0")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "_R") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_undef Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R30") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R29") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R28") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R27") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R26") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R25") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R24") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R23") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R22") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R21") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R20") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R19") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R18") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R17") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R16") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R15") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R14") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R13") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R12") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R11") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R10") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R9") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R8") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R7") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R6") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R5") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R4") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R3") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R2") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R1") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "R0") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_undef Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_undef Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "UInt_reg") Unknown) (P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "unsigned") Unknown) [(E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), (Tag_extern (Just "unsigned")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))) (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V31") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V31")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V30") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V30")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V29") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V29")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V28") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V28")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V27") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V27")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V26") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V26")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V25") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V25")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V24") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V24")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V23") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V23")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V22") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V22")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V21") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V21")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V20") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V20")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V19") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V19")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V18") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V18")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V17") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V17")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V16") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V16")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V15") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V15")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V14") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V14")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V13") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V13")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V12") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V12")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V11") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V11")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V10") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V10")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V9") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V9")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V8") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V8")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V7") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V7")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V6") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V6")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V5") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V5")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V4") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V4")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V3") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V3")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V2") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V2")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V1") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V1")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V0") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "V0")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "_V") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_const 33)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_undef Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V31") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V30") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V29") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V28") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V27") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V26") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V25") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V24") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V23") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V22") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V21") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V20") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V19") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V18") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V17") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V16") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V15") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V14") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V13") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V12") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V11") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V10") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V9") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V8") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V7") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V6") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V5") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V4") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V3") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V2") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "V1") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "V0") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_const 33)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_undef Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_const 33)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_undef Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'m") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'n") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_bounded_ge (Nexp_aux (Nexp_var (Kid_aux (Var "'m") Unknown)) Unknown) (Nexp_aux (Nexp_constant zero) Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_bounded_ge (Nexp_aux (Nexp_var (Kid_aux (Var "'n") Unknown)) Unknown) (Nexp_aux (Nexp_constant zero) Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'n") Unknown)) Unknown) (Nexp_aux (Nexp_exp (Nexp_aux (Nexp_var (Kid_aux (Var "'m") Unknown)) Unknown)) Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "lsl") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'n"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'m"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "atom" (T_args [(T_arg_nexp (Ne_var "'n"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'m"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'n"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) - (E_aux (E_app_infix (E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "**") Unknown) (E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'m"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_exp (Ne_var "'nv21")))])), (Tag_extern (Just "power")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv7") (Ne_var "'nv8")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'n") (Ne_exp (Ne_var "'m"))))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "atom" (T_args [(T_arg_nexp (Ne_var "'n"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'m"))]))]) (T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'n") (Ne_exp (Ne_var "'m"))))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "not_implemented") Unknown) (P_aux (P_id (Id_aux (Id "message") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_exit (E_aux (E_id (Id_aux (Id "message") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "string") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_none (Kid_aux (Var "'a") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_var (Kid_aux (Var "'a") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "not_implemented_extern") Unknown) (P_aux (P_id (Id_aux (Id "message") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_exit (E_aux (E_id (Id_aux (Id "message") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_var "'tv0"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_var "'tv0"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_var "'tv0"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "string") (T_var "'tv0") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "info") Unknown) (P_aux (P_id (Id_aux (Id "message") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "string") (T_id "unit") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_record (Id_aux (Id "IMPLEMENTATION_DEFINED_type") Unknown) (Name_sect_aux Name_sect_none Unknown) (TypQ_aux TypQ_no_forall Unknown) [ - ((Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown), (Id_aux (Id "HaveCRCExt") Unknown)); - ((Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown), (Id_aux (Id "HaveAArch32EL") Unknown)); - ((Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown), (Id_aux (Id "HaveAnyAArch32") Unknown)); - ((Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown), (Id_aux (Id "HaveEL2") Unknown)); - ((Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown), (Id_aux (Id "HaveEL3") Unknown)); - ((Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown), (Id_aux (Id "HighestELUsingAArch32") Unknown)); - ((Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown), (Id_aux (Id "IsSecureBelowEL3") Unknown));] false) (Unknown, (Just ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "IMPLEMENTATION_DEFINED") Unknown)) (Unknown, (Just ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_record (FES_aux (FES_Fexps [(FE_aux (FE_Fexp (Id_aux (Id "HaveCRCExt") Unknown) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "HaveAArch32EL") Unknown) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "HaveAnyAArch32") Unknown) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "HaveEL2") Unknown) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "HaveEL3") Unknown) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "HighestELUsingAArch32") Unknown) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "IsSecureBelowEL3") Unknown) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] false) (Unknown,Nothing))) (Unknown, (Just ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_extern_no_rename (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "bool") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_exmem Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "speculate_exclusive_success") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "bool") (T_id "bit")) (Effect_aux (Effect_set [(BE_aux BE_exmem Unknown) ]) Unknown)), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_register (Id_aux (Id "HCR_type") Unknown) (Nexp_aux (Nexp_constant sixtythree) Unknown) (Nexp_aux (Nexp_constant zero) Unknown) [((BF_aux (BF_single 33) Unknown), (Id_aux (Id "ID") Unknown)); ((BF_aux (BF_single 32) Unknown), (Id_aux (Id "CD") Unknown)); ((BF_aux (BF_single 31) Unknown), (Id_aux (Id "RW") Unknown)); ((BF_aux (BF_single 30) Unknown), (Id_aux (Id "TRVM") Unknown)); ((BF_aux (BF_single 29) Unknown), (Id_aux (Id "HCD") Unknown)); ((BF_aux (BF_single 28) Unknown), (Id_aux (Id "TDZ") Unknown)); ((BF_aux (BF_single 27) Unknown), (Id_aux (Id "TGE") Unknown)); ((BF_aux (BF_single 26) Unknown), (Id_aux (Id "TVM") Unknown)); ((BF_aux (BF_single 25) Unknown), (Id_aux (Id "TTLB") Unknown)); ((BF_aux (BF_single 24) Unknown), (Id_aux (Id "TPU") Unknown)); ((BF_aux (BF_single 23) Unknown), (Id_aux (Id "TPC") Unknown)); ((BF_aux (BF_single 22) Unknown), (Id_aux (Id "TSW") Unknown)); ((BF_aux (BF_single 21) Unknown), (Id_aux (Id "TACR") Unknown)); ((BF_aux (BF_single 20) Unknown), (Id_aux (Id "TIDCP") Unknown)); ((BF_aux (BF_single 19) Unknown), (Id_aux (Id "TSC") Unknown)); ((BF_aux (BF_single 18) Unknown), (Id_aux (Id "TID3") Unknown)); ((BF_aux (BF_single 17) Unknown), (Id_aux (Id "TID2") Unknown)); ((BF_aux (BF_single 16) Unknown), (Id_aux (Id "TID1") Unknown)); ((BF_aux (BF_single 15) Unknown), (Id_aux (Id "TID0") Unknown)); ((BF_aux (BF_single 14) Unknown), (Id_aux (Id "TWE") Unknown)); ((BF_aux (BF_single 13) Unknown), (Id_aux (Id "TWI") Unknown)); ((BF_aux (BF_single 12) Unknown), (Id_aux (Id "DC") Unknown)); ((BF_aux (BF_range 11 10) Unknown), (Id_aux (Id "BSU") Unknown)); ((BF_aux (BF_single 9) Unknown), (Id_aux (Id "FB") Unknown)); ((BF_aux (BF_single 8) Unknown), (Id_aux (Id "VSE") Unknown)); ((BF_aux (BF_single 7) Unknown), (Id_aux (Id "VI") Unknown)); ((BF_aux (BF_single 6) Unknown), (Id_aux (Id "VF") Unknown)); ((BF_aux (BF_single 5) Unknown), (Id_aux (Id "AMO") Unknown)); ((BF_aux (BF_single 4) Unknown), (Id_aux (Id "IMO") Unknown)); ((BF_aux (BF_single 3) Unknown), (Id_aux (Id "FMO") Unknown)); ((BF_aux (BF_single 2) Unknown), (Id_aux (Id "PTW") Unknown)); ((BF_aux (BF_single 1) Unknown), (Id_aux (Id "SWIO") Unknown)); ((BF_aux (BF_single 0) Unknown), (Id_aux (Id "VM") Unknown)); ]) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "HCR_type") Unknown)) Unknown) (Id_aux (Id "HCR_EL2") Unknown)) (Unknown,(Just ((T_abbrev (T_id "HCR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "HCR_EL2")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_register (Id_aux (Id "ID_AA64MMFR0_type") Unknown) (Nexp_aux (Nexp_constant sixtythree) Unknown) (Nexp_aux (Nexp_constant zero) Unknown) [((BF_aux (BF_range 31 28) Unknown), (Id_aux (Id "TGran4") Unknown)); ((BF_aux (BF_range 27 24) Unknown), (Id_aux (Id "TGran64") Unknown)); ((BF_aux (BF_range 23 20) Unknown), (Id_aux (Id "TGran16") Unknown)); ((BF_aux (BF_range 19 16) Unknown), (Id_aux (Id "BigEndEL0") Unknown)); ((BF_aux (BF_range 15 12) Unknown), (Id_aux (Id "SNSMem") Unknown)); ((BF_aux (BF_range 11 8) Unknown), (Id_aux (Id "BigEnd") Unknown)); ((BF_aux (BF_range 7 4) Unknown), (Id_aux (Id "ASIDBits") Unknown)); ((BF_aux (BF_range 3 0) Unknown), (Id_aux (Id "PARange") Unknown)); ]) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "ID_AA64MMFR0_type") Unknown)) Unknown) (Id_aux (Id "ID_AA64MMFR0_EL1") Unknown)) (Unknown,(Just ((T_abbrev (T_id "ID_AA64MMFR0_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "ID_AA64MMFR0_EL1")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "RVBAR_EL1") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "RVBAR_EL1")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "RVBAR_EL2") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "RVBAR_EL2")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "RVBAR_EL3") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "RVBAR_EL3")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_register (Id_aux (Id "SCRType") Unknown) (Nexp_aux (Nexp_constant thirtyone) Unknown) (Nexp_aux (Nexp_constant zero) Unknown) [((BF_aux (BF_single 13) Unknown), (Id_aux (Id "TWE") Unknown)); ((BF_aux (BF_single 12) Unknown), (Id_aux (Id "TWI") Unknown)); ((BF_aux (BF_single 11) Unknown), (Id_aux (Id "ST") Unknown)); ((BF_aux (BF_single 10) Unknown), (Id_aux (Id "RW") Unknown)); ((BF_aux (BF_single 9) Unknown), (Id_aux (Id "SIF") Unknown)); ((BF_aux (BF_single 8) Unknown), (Id_aux (Id "HCE") Unknown)); ((BF_aux (BF_single 7) Unknown), (Id_aux (Id "SMD") Unknown)); ((BF_aux (BF_single 3) Unknown), (Id_aux (Id "EA") Unknown)); ((BF_aux (BF_single 2) Unknown), (Id_aux (Id "FIQ") Unknown)); ((BF_aux (BF_single 1) Unknown), (Id_aux (Id "IRQ") Unknown)); ((BF_aux (BF_single 0) Unknown), (Id_aux (Id "NS") Unknown)); ]) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "SCRType") Unknown)) Unknown) (Id_aux (Id "SCR_EL3") Unknown)) (Unknown,(Just ((T_abbrev (T_id "SCRType") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "SCR_EL3")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_register (Id_aux (Id "SCTLR_EL1_type") Unknown) (Nexp_aux (Nexp_constant thirtyone) Unknown) (Nexp_aux (Nexp_constant zero) Unknown) [((BF_aux (BF_single 26) Unknown), (Id_aux (Id "UCI") Unknown)); ((BF_aux (BF_single 25) Unknown), (Id_aux (Id "EE") Unknown)); ((BF_aux (BF_single 24) Unknown), (Id_aux (Id "E0E") Unknown)); ((BF_aux (BF_single 19) Unknown), (Id_aux (Id "WXN") Unknown)); ((BF_aux (BF_single 18) Unknown), (Id_aux (Id "nTWE") Unknown)); ((BF_aux (BF_single 16) Unknown), (Id_aux (Id "nTWI") Unknown)); ((BF_aux (BF_single 15) Unknown), (Id_aux (Id "UCT") Unknown)); ((BF_aux (BF_single 14) Unknown), (Id_aux (Id "DZE") Unknown)); ((BF_aux (BF_single 12) Unknown), (Id_aux (Id "I") Unknown)); ((BF_aux (BF_single 9) Unknown), (Id_aux (Id "UMA") Unknown)); ((BF_aux (BF_single 8) Unknown), (Id_aux (Id "SED") Unknown)); ((BF_aux (BF_single 7) Unknown), (Id_aux (Id "ITD") Unknown)); ((BF_aux (BF_single 5) Unknown), (Id_aux (Id "CP15BEN") Unknown)); ((BF_aux (BF_single 4) Unknown), (Id_aux (Id "SA0") Unknown)); ((BF_aux (BF_single 3) Unknown), (Id_aux (Id "SA") Unknown)); ((BF_aux (BF_single 2) Unknown), (Id_aux (Id "C") Unknown)); ((BF_aux (BF_single 1) Unknown), (Id_aux (Id "A") Unknown)); ((BF_aux (BF_single 0) Unknown), (Id_aux (Id "M") Unknown)); ]) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "SCTLR_EL1_type") Unknown)) Unknown) (Id_aux (Id "SCTLR_EL1") Unknown)) (Unknown,(Just ((T_abbrev (T_id "SCTLR_EL1_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "SCTLR_EL1")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_register (Id_aux (Id "SCTLR_type") Unknown) (Nexp_aux (Nexp_constant thirtyone) Unknown) (Nexp_aux (Nexp_constant zero) Unknown) [((BF_aux (BF_single 25) Unknown), (Id_aux (Id "EE") Unknown)); ((BF_aux (BF_single 19) Unknown), (Id_aux (Id "WXN") Unknown)); ((BF_aux (BF_single 12) Unknown), (Id_aux (Id "I") Unknown)); ((BF_aux (BF_single 3) Unknown), (Id_aux (Id "SA") Unknown)); ((BF_aux (BF_single 2) Unknown), (Id_aux (Id "C") Unknown)); ((BF_aux (BF_single 1) Unknown), (Id_aux (Id "A") Unknown)); ((BF_aux (BF_single 0) Unknown), (Id_aux (Id "M") Unknown)); ]) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "SCTLR_type") Unknown)) Unknown) (Id_aux (Id "SCTLR_EL2") Unknown)) (Unknown,(Just ((T_abbrev (T_id "SCTLR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "SCTLR_EL2")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "SCTLR_type") Unknown)) Unknown) (Id_aux (Id "SCTLR_EL3") Unknown)) (Unknown,(Just ((T_abbrev (T_id "SCTLR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "SCTLR_EL3")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_register (Id_aux (Id "TCR_EL1_type") Unknown) (Nexp_aux (Nexp_constant sixtythree) Unknown) (Nexp_aux (Nexp_constant zero) Unknown) [((BF_aux (BF_single 38) Unknown), (Id_aux (Id "TBI1") Unknown)); ((BF_aux (BF_single 37) Unknown), (Id_aux (Id "TBI0") Unknown)); ((BF_aux (BF_single 36) Unknown), (Id_aux (Id "AS") Unknown)); ((BF_aux (BF_range 34 32) Unknown), (Id_aux (Id "IPS") Unknown)); ((BF_aux (BF_range 31 30) Unknown), (Id_aux (Id "TG1") Unknown)); ((BF_aux (BF_range 29 28) Unknown), (Id_aux (Id "SH1") Unknown)); ((BF_aux (BF_range 27 26) Unknown), (Id_aux (Id "ORGN1") Unknown)); ((BF_aux (BF_range 25 24) Unknown), (Id_aux (Id "IRGN1") Unknown)); ((BF_aux (BF_single 23) Unknown), (Id_aux (Id "EPD1") Unknown)); ((BF_aux (BF_single 22) Unknown), (Id_aux (Id "A1") Unknown)); ((BF_aux (BF_range 21 16) Unknown), (Id_aux (Id "T1SZ") Unknown)); ((BF_aux (BF_range 15 14) Unknown), (Id_aux (Id "TG0") Unknown)); ((BF_aux (BF_range 13 12) Unknown), (Id_aux (Id "SH0") Unknown)); ((BF_aux (BF_range 11 10) Unknown), (Id_aux (Id "ORGN0") Unknown)); ((BF_aux (BF_range 9 8) Unknown), (Id_aux (Id "IRGN0") Unknown)); ((BF_aux (BF_single 7) Unknown), (Id_aux (Id "EPD0") Unknown)); ((BF_aux (BF_range 5 0) Unknown), (Id_aux (Id "T0SZ") Unknown)); ]) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "TCR_EL1_type") Unknown)) Unknown) (Id_aux (Id "TCR_EL1") Unknown)) (Unknown,(Just ((T_abbrev (T_id "TCR_EL1_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "TCR_EL1")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_register (Id_aux (Id "TCR_type") Unknown) (Nexp_aux (Nexp_constant thirtyone) Unknown) (Nexp_aux (Nexp_constant zero) Unknown) [((BF_aux (BF_single 20) Unknown), (Id_aux (Id "TBI") Unknown)); ((BF_aux (BF_range 18 16) Unknown), (Id_aux (Id "PS") Unknown)); ((BF_aux (BF_range 15 14) Unknown), (Id_aux (Id "TG0") Unknown)); ((BF_aux (BF_range 13 12) Unknown), (Id_aux (Id "SH0") Unknown)); ((BF_aux (BF_range 11 10) Unknown), (Id_aux (Id "ORGN0") Unknown)); ((BF_aux (BF_range 9 8) Unknown), (Id_aux (Id "IRGN0") Unknown)); ((BF_aux (BF_range 5 0) Unknown), (Id_aux (Id "T0SZ") Unknown)); ]) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "TCR_type") Unknown)) Unknown) (Id_aux (Id "TCR_EL2") Unknown)) (Unknown,(Just ((T_abbrev (T_id "TCR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "TCR_EL2")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "TCR_type") Unknown)) Unknown) (Id_aux (Id "TCR_EL3") Unknown)) (Unknown,(Just ((T_abbrev (T_id "TCR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "TCR_EL3")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "TPIDR_EL0") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "TPIDR_EL0")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "TPIDR_EL1") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "TPIDR_EL1")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "TPIDR_EL2") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "TPIDR_EL2")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "TPIDR_EL3") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "TPIDR_EL3")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_register (Id_aux (Id "DBGPRCR_type") Unknown) (Nexp_aux (Nexp_constant thirtyone) Unknown) (Nexp_aux (Nexp_constant zero) Unknown) [((BF_aux (BF_single 0) Unknown), (Id_aux (Id "CORENPDRQ") Unknown)); ]) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "DBGPRCR_type") Unknown)) Unknown) (Id_aux (Id "DBGPRCR_EL1") Unknown)) (Unknown,(Just ((T_abbrev (T_id "DBGPRCR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "DBGPRCR_EL1")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_register (Id_aux (Id "OSDLR_type") Unknown) (Nexp_aux (Nexp_constant thirtyone) Unknown) (Nexp_aux (Nexp_constant zero) Unknown) [((BF_aux (BF_single 0) Unknown), (Id_aux (Id "DLK") Unknown)); ]) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "OSDLR_type") Unknown)) Unknown) (Id_aux (Id "OSDLR_EL1") Unknown)) (Unknown,(Just ((T_abbrev (T_id "OSDLR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "OSDLR_EL1")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_register (Id_aux (Id "EDSCR_type") Unknown) (Nexp_aux (Nexp_constant thirtyone) Unknown) (Nexp_aux (Nexp_constant zero) Unknown) [((BF_aux (BF_single 30) Unknown), (Id_aux (Id "RXfull") Unknown)); ((BF_aux (BF_single 29) Unknown), (Id_aux (Id "TXfull") Unknown)); ((BF_aux (BF_single 28) Unknown), (Id_aux (Id "ITO") Unknown)); ((BF_aux (BF_single 27) Unknown), (Id_aux (Id "RXO") Unknown)); ((BF_aux (BF_single 26) Unknown), (Id_aux (Id "TXU") Unknown)); ((BF_aux (BF_single 25) Unknown), (Id_aux (Id "PipeAdv") Unknown)); ((BF_aux (BF_single 24) Unknown), (Id_aux (Id "ITE") Unknown)); ((BF_aux (BF_range 23 22) Unknown), (Id_aux (Id "INTdis") Unknown)); ((BF_aux (BF_single 21) Unknown), (Id_aux (Id "TDA") Unknown)); ((BF_aux (BF_single 20) Unknown), (Id_aux (Id "MA") Unknown)); ((BF_aux (BF_single 18) Unknown), (Id_aux (Id "NS") Unknown)); ((BF_aux (BF_single 16) Unknown), (Id_aux (Id "SDD") Unknown)); ((BF_aux (BF_single 14) Unknown), (Id_aux (Id "HDE") Unknown)); ((BF_aux (BF_range 13 10) Unknown), (Id_aux (Id "RW") Unknown)); ((BF_aux (BF_range 9 8) Unknown), (Id_aux (Id "EL") Unknown)); ((BF_aux (BF_single 7) Unknown), (Id_aux (Id "A") Unknown)); ((BF_aux (BF_single 6) Unknown), (Id_aux (Id "ERR") Unknown)); ((BF_aux (BF_range 5 0) Unknown), (Id_aux (Id "STATUS") Unknown)); ]) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "EDSCR_type") Unknown)) Unknown) (Id_aux (Id "EDSCR") Unknown)) (Unknown,(Just ((T_abbrev (T_id "EDSCR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "EDSCR")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_register (Id_aux (Id "TXIDR_EL0_type") Unknown) (Nexp_aux (Nexp_constant sixtythree) Unknown) (Nexp_aux (Nexp_constant zero) Unknown) [((BF_aux (BF_range 7 0) Unknown), (Id_aux (Id "DEPTH") Unknown)); ]) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "TXIDR_EL0_type") Unknown)) Unknown) (Id_aux (Id "TXIDR_EL0") Unknown)) (Unknown,(Just ((T_abbrev (T_id "TXIDR_EL0_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "TXIDR_EL0")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_ResetControlRegisters") Unknown) (P_aux (P_id (Id_aux (Id "cold_reset") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_abbrev (T_id "boolean") (T_id "bit")) (T_id "unit") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_register (Id_aux (Id "CurrentEL_type") Unknown) (Nexp_aux (Nexp_constant thirtyone) Unknown) (Nexp_aux (Nexp_constant zero) Unknown) [((BF_aux (BF_range 3 2) Unknown), (Id_aux (Id "EL") Unknown)); ]) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "CurrentEL_type") Unknown)) Unknown) (Id_aux (Id "CurrentEL") Unknown)) (Unknown,(Just ((T_abbrev (T_id "CurrentEL_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "CurrentEL")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_register (Id_aux (Id "DAIF_type") Unknown) (Nexp_aux (Nexp_constant thirtyone) Unknown) (Nexp_aux (Nexp_constant zero) Unknown) [((BF_aux (BF_single 9) Unknown), (Id_aux (Id "D") Unknown)); ((BF_aux (BF_single 8) Unknown), (Id_aux (Id "A") Unknown)); ((BF_aux (BF_single 7) Unknown), (Id_aux (Id "I") Unknown)); ((BF_aux (BF_single 6) Unknown), (Id_aux (Id "F") Unknown)); ]) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "DAIF_type") Unknown)) Unknown) (Id_aux (Id "DAIF") Unknown)) (Unknown,(Just ((T_abbrev (T_id "DAIF_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_register (Id_aux (Id "NZCV_type") Unknown) (Nexp_aux (Nexp_constant thirtyone) Unknown) (Nexp_aux (Nexp_constant zero) Unknown) [((BF_aux (BF_single 31) Unknown), (Id_aux (Id "N") Unknown)); ((BF_aux (BF_single 30) Unknown), (Id_aux (Id "Z") Unknown)); ((BF_aux (BF_single 29) Unknown), (Id_aux (Id "C") Unknown)); ((BF_aux (BF_single 28) Unknown), (Id_aux (Id "V") Unknown)); ]) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "NZCV_type") Unknown)) Unknown) (Id_aux (Id "NZCV") Unknown)) (Unknown,(Just ((T_abbrev (T_id "NZCV_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "NZCV")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "SP_EL0") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "SP_EL0")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "SP_EL1") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "SP_EL1")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "SP_EL2") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "SP_EL2")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "SP_EL3") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "SP_EL3")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_register (Id_aux (Id "SPSel_type") Unknown) (Nexp_aux (Nexp_constant thirtyone) Unknown) (Nexp_aux (Nexp_constant zero) Unknown) [((BF_aux (BF_single 0) Unknown), (Id_aux (Id "SP") Unknown)); ]) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "SPSel_type") Unknown)) Unknown) (Id_aux (Id "SPSel") Unknown)) (Unknown,(Just ((T_abbrev (T_id "SPSel_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "SPSel")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_register (Id_aux (Id "SPSR_type") Unknown) (Nexp_aux (Nexp_constant thirtyone) Unknown) (Nexp_aux (Nexp_constant zero) Unknown) [((BF_aux (BF_single 31) Unknown), (Id_aux (Id "N") Unknown)); ((BF_aux (BF_single 30) Unknown), (Id_aux (Id "Z") Unknown)); ((BF_aux (BF_single 29) Unknown), (Id_aux (Id "C") Unknown)); ((BF_aux (BF_single 28) Unknown), (Id_aux (Id "V") Unknown)); ((BF_aux (BF_single 21) Unknown), (Id_aux (Id "SS") Unknown)); ((BF_aux (BF_single 20) Unknown), (Id_aux (Id "IL") Unknown)); ((BF_aux (BF_single 9) Unknown), (Id_aux (Id "E") Unknown)); ((BF_aux (BF_single 8) Unknown), (Id_aux (Id "A") Unknown)); ((BF_aux (BF_single 7) Unknown), (Id_aux (Id "I") Unknown)); ((BF_aux (BF_single 6) Unknown), (Id_aux (Id "F") Unknown)); ((BF_aux (BF_single 4) Unknown), (Id_aux (Id "M4") Unknown)); ((BF_aux (BF_range 3 0) Unknown), (Id_aux (Id "M3_0") Unknown)); ]) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "SPSR_type") Unknown)) Unknown) (Id_aux (Id "SPSR_EL1") Unknown)) (Unknown,(Just ((T_abbrev (T_id "SPSR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "SPSR_EL1")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "SPSR_type") Unknown)) Unknown) (Id_aux (Id "SPSR_EL2") Unknown)) (Unknown,(Just ((T_abbrev (T_id "SPSR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "SPSR_EL2")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "SPSR_type") Unknown)) Unknown) (Id_aux (Id "SPSR_EL3") Unknown)) (Unknown,(Just ((T_abbrev (T_id "SPSR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "SPSR_EL3")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "ELR_EL1") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "ELR_EL1")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "ELR_EL2") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "ELR_EL2")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "ELR_EL3") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "ELR_EL3")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "SCRType") Unknown)) Unknown) (Id_aux (Id "SCR") Unknown)) (Unknown,(Just ((T_abbrev (T_id "SCRType") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "SCR")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_register (Id_aux (Id "DBGOSDLR_type") Unknown) (Nexp_aux (Nexp_constant thirtyone) Unknown) (Nexp_aux (Nexp_constant zero) Unknown) [((BF_aux (BF_single 0) Unknown), (Id_aux (Id "DLK") Unknown)); ]) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "DBGOSDLR_type") Unknown)) Unknown) (Id_aux (Id "DBGOSDLR") Unknown)) (Unknown,(Just ((T_abbrev (T_id "DBGOSDLR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "DBGOSDLR")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_id (Id_aux (Id "DBGPRCR_type") Unknown)) Unknown) (Id_aux (Id "DBGPRCR") Unknown)) (Unknown,(Just ((T_abbrev (T_id "DBGPRCR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "DBGPRCR")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_alias (Id_aux (Id "PSTATE_N") Unknown) (AL_aux (AL_subreg - (RI_aux (RI_id (Id_aux (Id "NZCV") Unknown)) (Unknown,(Just ((T_abbrev (T_id "NZCV_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "NZCV")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "N") Unknown)) (Unknown,(Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_alias (Id_aux (Id "PSTATE_Z") Unknown) (AL_aux (AL_subreg - (RI_aux (RI_id (Id_aux (Id "NZCV") Unknown)) (Unknown,(Just ((T_abbrev (T_id "NZCV_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "NZCV")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "Z") Unknown)) (Unknown,(Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_alias (Id_aux (Id "PSTATE_C") Unknown) (AL_aux (AL_subreg - (RI_aux (RI_id (Id_aux (Id "NZCV") Unknown)) (Unknown,(Just ((T_abbrev (T_id "NZCV_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "NZCV")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "C") Unknown)) (Unknown,(Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_alias (Id_aux (Id "PSTATE_V") Unknown) (AL_aux (AL_subreg - (RI_aux (RI_id (Id_aux (Id "NZCV") Unknown)) (Unknown,(Just ((T_abbrev (T_id "NZCV_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "NZCV")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "V") Unknown)) (Unknown,(Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_alias (Id_aux (Id "PSTATE_D") Unknown) (AL_aux (AL_subreg - (RI_aux (RI_id (Id_aux (Id "DAIF") Unknown)) (Unknown,(Just ((T_abbrev (T_id "DAIF_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "D") Unknown)) (Unknown,(Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_alias (Id_aux (Id "PSTATE_A") Unknown) (AL_aux (AL_subreg - (RI_aux (RI_id (Id_aux (Id "DAIF") Unknown)) (Unknown,(Just ((T_abbrev (T_id "DAIF_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "A") Unknown)) (Unknown,(Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_alias (Id_aux (Id "PSTATE_I") Unknown) (AL_aux (AL_subreg - (RI_aux (RI_id (Id_aux (Id "DAIF") Unknown)) (Unknown,(Just ((T_abbrev (T_id "DAIF_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "I") Unknown)) (Unknown,(Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_alias (Id_aux (Id "PSTATE_F") Unknown) (AL_aux (AL_subreg - (RI_aux (RI_id (Id_aux (Id "DAIF") Unknown)) (Unknown,(Just ((T_abbrev (T_id "DAIF_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "F") Unknown)) (Unknown,(Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_alias (Id_aux (Id "PSTATE_EL") Unknown) (AL_aux (AL_subreg - (RI_aux (RI_id (Id_aux (Id "CurrentEL") Unknown)) (Unknown,(Just ((T_abbrev (T_id "CurrentEL_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "CurrentEL")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "EL") Unknown)) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant zero) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "PSTATE_nRW") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "PSTATE_nRW")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_alias (Id_aux (Id "PSTATE_SP") Unknown) (AL_aux (AL_subreg - (RI_aux (RI_id (Id_aux (Id "SPSel") Unknown)) (Unknown,(Just ((T_abbrev (T_id "SPSel_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "SPSel")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "SP") Unknown)) (Unknown,(Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant zero) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "PSTATE_E") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "PSTATE_E")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_reg_dec (DEC_aux (DEC_reg (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant five) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "PSTATE_M") Unknown)) (Unknown,(Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "PSTATE_M")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "wPSTATE_NZCV") Unknown) (P_aux (P_tup [(P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "z") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "c") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "v") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "unit"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_N") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "NZCV")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_Z") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "z") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "NZCV")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_C") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "c") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "NZCV")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_V") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "v") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "NZCV")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "NZCV")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "unit"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "wPSTATE_DAIF") Unknown) (P_aux (P_tup [(P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "a") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "i") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "f") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "unit"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_D") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_A") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "a") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_I") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "i") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_F") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "f") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "unit"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_enum (Id_aux (Id "AccType") Unknown) (Name_sect_aux Name_sect_none Unknown) [(Id_aux (Id "AccType_NORMAL") Unknown); (Id_aux (Id "AccType_VEC") Unknown); (Id_aux (Id "AccType_STREAM") Unknown); (Id_aux (Id "AccType_VECSTREAM") Unknown); (Id_aux (Id "AccType_ATOMIC") Unknown); (Id_aux (Id "AccType_ORDERED") Unknown); (Id_aux (Id "AccType_UNPRIV") Unknown); (Id_aux (Id "AccType_IFETCH") Unknown); (Id_aux (Id "AccType_PTW") Unknown); (Id_aux (Id "AccType_DC") Unknown); (Id_aux (Id "AccType_IC") Unknown); (Id_aux (Id "AccType_AT") Unknown)] false) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_enum (Id_aux (Id "MBReqDomain") Unknown) (Name_sect_aux Name_sect_none Unknown) [(Id_aux (Id "MBReqDomain_Nonshareable") Unknown); (Id_aux (Id "MBReqDomain_InnerShareable") Unknown); (Id_aux (Id "MBReqDomain_OuterShareable") Unknown); (Id_aux (Id "MBReqDomain_FullSystem") Unknown)] false) (Unknown, (Just ((T_id "MBReqDomain"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_enum (Id_aux (Id "MBReqTypes") Unknown) (Name_sect_aux Name_sect_none Unknown) [(Id_aux (Id "MBReqTypes_Reads") Unknown); (Id_aux (Id "MBReqTypes_Writes") Unknown); (Id_aux (Id "MBReqTypes_All") Unknown)] false) (Unknown, (Just ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_enum (Id_aux (Id "BranchType") Unknown) (Name_sect_aux Name_sect_none Unknown) [(Id_aux (Id "BranchType_CALL") Unknown); (Id_aux (Id "BranchType_ERET") Unknown); (Id_aux (Id "BranchType_DBGEXIT") Unknown); (Id_aux (Id "BranchType_RET") Unknown); (Id_aux (Id "BranchType_JMP") Unknown); (Id_aux (Id "BranchType_EXCEPTION") Unknown); (Id_aux (Id "BranchType_UNKNOWN") Unknown)] false) (Unknown, (Just ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_enum (Id_aux (Id "MoveWideOp") Unknown) (Name_sect_aux Name_sect_none Unknown) [(Id_aux (Id "MoveWideOp_N") Unknown); (Id_aux (Id "MoveWideOp_Z") Unknown); (Id_aux (Id "MoveWideOp_K") Unknown)] false) (Unknown, (Just ((T_id "MoveWideOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "M32_User") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "M32_FIQ") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "M32_IRQ") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "M32_Svc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "M32_Monitor") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "M32_Abort") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "M32_Hyp") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "M32_Undef") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "M32_System") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "EL2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "EL0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_enum (Id_aux (Id "DeviceType") Unknown) (Name_sect_aux Name_sect_none Unknown) [(Id_aux (Id "DeviceType_GRE") Unknown); (Id_aux (Id "DeviceType_nGRE") Unknown); (Id_aux (Id "DeviceType_nGnRE") Unknown); (Id_aux (Id "DeviceType_nGnRnE") Unknown)] false) (Unknown, (Just ((T_id "DeviceType"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_enum (Id_aux (Id "Fault") Unknown) (Name_sect_aux Name_sect_none Unknown) [(Id_aux (Id "Fault_None") Unknown); (Id_aux (Id "Fault_AccessFlag") Unknown); (Id_aux (Id "Fault_Alignment") Unknown); (Id_aux (Id "Fault_Background") Unknown); (Id_aux (Id "Fault_Domain") Unknown); (Id_aux (Id "Fault_Permission") Unknown); (Id_aux (Id "Fault_Translation") Unknown); (Id_aux (Id "Fault_AddressSize") Unknown); (Id_aux (Id "Fault_SyncExternal") Unknown); (Id_aux (Id "Fault_SyncExternalOnWalk") Unknown); (Id_aux (Id "Fault_SyncParity") Unknown); (Id_aux (Id "Fault_SyncParityOnWalk") Unknown); (Id_aux (Id "Fault_AsyncParity") Unknown); (Id_aux (Id "Fault_AsyncExternal") Unknown); (Id_aux (Id "Fault_Debug") Unknown); (Id_aux (Id "Fault_TLBConflict") Unknown); (Id_aux (Id "Fault_Lockdown") Unknown); (Id_aux (Id "Fault_Exclusive") Unknown); (Id_aux (Id "Fault_ICacheMaint") Unknown)] false) (Unknown, (Just ((T_id "Fault"), (Tag_enum 18), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_record (Id_aux (Id "FaultRecord") Unknown) (Name_sect_aux Name_sect_none Unknown) (TypQ_aux TypQ_no_forall Unknown) [ - ((Typ_aux (Typ_id (Id_aux (Id "Fault") Unknown)) Unknown), (Id_aux (Id "type") Unknown)); - ((Typ_aux (Typ_id (Id_aux (Id "AccType") Unknown)) Unknown), (Id_aux (Id "acctype") Unknown)); - ((Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant fortyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant fortyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown), (Id_aux (Id "ipaddress") Unknown)); - ((Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown), (Id_aux (Id "s2fs1walk") Unknown)); - ((Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown), (Id_aux (Id "write") Unknown)); - ((Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown), (Id_aux (Id "level") Unknown)); - ((Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown), (Id_aux (Id "extflag") Unknown)); - ((Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown), (Id_aux (Id "secondstage") Unknown)); - ((Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown), (Id_aux (Id "domain") Unknown)); - ((Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown), (Id_aux (Id "debugmoe") Unknown));] false) (Unknown, (Just ((T_id "FaultRecord"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_record (Id_aux (Id "MemAttrHints") Unknown) (Name_sect_aux Name_sect_none Unknown) (TypQ_aux TypQ_no_forall Unknown) [ - ((Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown), (Id_aux (Id "attrs") Unknown)); - ((Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown), (Id_aux (Id "hints") Unknown)); - ((Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown), (Id_aux (Id "transient") Unknown));] false) (Unknown, (Just ((T_id "MemAttrHints"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_enum (Id_aux (Id "MemType") Unknown) (Name_sect_aux Name_sect_none Unknown) [(Id_aux (Id "MemType_Normal") Unknown); (Id_aux (Id "MemType_Device") Unknown)] false) (Unknown, (Just ((T_id "MemType"), (Tag_enum one), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_record (Id_aux (Id "MemoryAttributes") Unknown) (Name_sect_aux Name_sect_none Unknown) (TypQ_aux TypQ_no_forall Unknown) [ - ((Typ_aux (Typ_id (Id_aux (Id "MemType") Unknown)) Unknown), (Id_aux (Id "type") Unknown)); - ((Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown), (Id_aux (Id "shareable") Unknown));] false) (Unknown, (Just ((T_id "MemoryAttributes"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_record (Id_aux (Id "FullAddress") Unknown) (Name_sect_aux Name_sect_none Unknown) (TypQ_aux TypQ_no_forall Unknown) [ - ((Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown), (Id_aux (Id "physicaladdress") Unknown)); - ((Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown), (Id_aux (Id "NS") Unknown));] false) (Unknown, (Just ((T_id "FullAddress"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_record (Id_aux (Id "AddressDescriptor") Unknown) (Name_sect_aux Name_sect_none Unknown) (TypQ_aux TypQ_no_forall Unknown) [ - ((Typ_aux (Typ_id (Id_aux (Id "FaultRecord") Unknown)) Unknown), (Id_aux (Id "fault") Unknown)); - ((Typ_aux (Typ_id (Id_aux (Id "MemoryAttributes") Unknown)) Unknown), (Id_aux (Id "memattrs") Unknown)); - ((Typ_aux (Typ_id (Id_aux (Id "FullAddress") Unknown)) Unknown), (Id_aux (Id "paddress") Unknown));] false) (Unknown, (Just ((T_id "AddressDescriptor"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_enum (Id_aux (Id "PrefetchHint") Unknown) (Name_sect_aux Name_sect_none Unknown) [(Id_aux (Id "Prefetch_READ") Unknown); (Id_aux (Id "Prefetch_WRITE") Unknown); (Id_aux (Id "Prefetch_EXEC") Unknown)] false) (Unknown, (Just ((T_id "PrefetchHint"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'S") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_bounded_ge (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown) (Nexp_aux (Nexp_constant one) Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "ASR_C") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))]))]) (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'S") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_bounded_ge (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown) (Nexp_aux (Nexp_constant one) Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "LSL_C") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))]))]) (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'S") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_bounded_ge (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown) (Nexp_aux (Nexp_constant one) Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "LSR_C") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))]))]) (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'S") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_bounded_ge (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown) (Nexp_aux (Nexp_constant one) Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_bounded_le (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "ROR_C") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))]))]) (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "IsZero") Unknown)) - (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "implicit") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "Replicate") Unknown)) - (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_bounded_ge (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "implicit") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "SignExtend") Unknown)) - (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_bounded_ge (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "implicit") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "ZeroExtend") Unknown)) - (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_app (Id_aux (Id "implicit") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "Zeros") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_app (Id_aux (Id "implicit") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "Ones") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "UInt") Unknown)) - (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'M"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "SInt") Unknown)) - (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'M"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant one) Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant one) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "range") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant zero) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "HighestSetBit") Unknown)) - (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))]))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "range") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant zero) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "CountLeadingZeroBits") Unknown)) - (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'N"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "IsSecure") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "IsSecureBelowEL3") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "SCRType") Unknown)) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "SCR_GEN") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "SCRType") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "UsingAArch32") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "ELUsingAArch32") Unknown)) - (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "Halted") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "HaveEL") Unknown)) - (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "HaveAnyAArch32") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "HighestELUsingAArch32") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "Unreachable") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "BranchType") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "Hint_Branch") Unknown)) - (Unknown, (Just ((T_fn (T_id "BranchType") (T_id "unit") (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_enum (Id_aux (Id "CountOp") Unknown) (Name_sect_aux Name_sect_none Unknown) [(Id_aux (Id "CountOp_CLZ") Unknown); (Id_aux (Id "CountOp_CLS") Unknown); (Id_aux (Id "CountOp_CNT") Unknown)] false) (Unknown, (Just ((T_id "CountOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_enum (Id_aux (Id "ExtendType") Unknown) (Name_sect_aux Name_sect_none Unknown) [(Id_aux (Id "ExtendType_SXTB") Unknown); (Id_aux (Id "ExtendType_SXTH") Unknown); (Id_aux (Id "ExtendType_SXTW") Unknown); (Id_aux (Id "ExtendType_SXTX") Unknown); (Id_aux (Id "ExtendType_UXTB") Unknown); (Id_aux (Id "ExtendType_UXTH") Unknown); (Id_aux (Id "ExtendType_UXTW") Unknown); (Id_aux (Id "ExtendType_UXTX") Unknown)] false) (Unknown, (Just ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_enum (Id_aux (Id "RevOp") Unknown) (Name_sect_aux Name_sect_none Unknown) [(Id_aux (Id "RevOp_RBIT") Unknown); (Id_aux (Id "RevOp_REV16") Unknown); (Id_aux (Id "RevOp_REV32") Unknown); (Id_aux (Id "RevOp_REV64") Unknown)] false) (Unknown, (Just ((T_id "RevOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_enum (Id_aux (Id "ShiftType") Unknown) (Name_sect_aux Name_sect_none Unknown) [(Id_aux (Id "ShiftType_LSL") Unknown); (Id_aux (Id "ShiftType_LSR") Unknown); (Id_aux (Id "ShiftType_ASR") Unknown); (Id_aux (Id "ShiftType_ROR") Unknown)] false) (Unknown, (Just ((T_id "ShiftType"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_enum (Id_aux (Id "LogicalOp") Unknown) (Name_sect_aux Name_sect_none Unknown) [(Id_aux (Id "LogicalOp_AND") Unknown); (Id_aux (Id "LogicalOp_EOR") Unknown); (Id_aux (Id "LogicalOp_ORR") Unknown)] false) (Unknown, (Just ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_enum (Id_aux (Id "MemOp") Unknown) (Name_sect_aux Name_sect_none Unknown) [(Id_aux (Id "MemOp_LOAD") Unknown); (Id_aux (Id "MemOp_STORE") Unknown); (Id_aux (Id "MemOp_PREFETCH") Unknown)] false) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_enum (Id_aux (Id "MemBarrierOp") Unknown) (Name_sect_aux Name_sect_none Unknown) [(Id_aux (Id "MemBarrierOp_DSB") Unknown); (Id_aux (Id "MemBarrierOp_DMB") Unknown); (Id_aux (Id "MemBarrierOp_ISB") Unknown)] false) (Unknown, (Just ((T_id "MemBarrierOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_enum (Id_aux (Id "SystemHintOp") Unknown) (Name_sect_aux Name_sect_none Unknown) [(Id_aux (Id "SystemHintOp_NOP") Unknown); (Id_aux (Id "SystemHintOp_YIELD") Unknown); (Id_aux (Id "SystemHintOp_WFE") Unknown); (Id_aux (Id "SystemHintOp_WFI") Unknown); (Id_aux (Id "SystemHintOp_SEV") Unknown); (Id_aux (Id "SystemHintOp_SEVL") Unknown)] false) (Unknown, (Just ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_enum (Id_aux (Id "PSTATEField") Unknown) (Name_sect_aux Name_sect_none Unknown) [(Id_aux (Id "PSTATEField_DAIFSet") Unknown); (Id_aux (Id "PSTATEField_DAIFClr") Unknown); (Id_aux (Id "PSTATEField_SP") Unknown)] false) (Unknown, (Just ((T_id "PSTATEField"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "rPC") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_app (Id_aux (Id "implicit") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "rSP") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "wX") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "implicit") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "rX") Unknown)) - (Unknown, (Just ((T_fn (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [8; 16; 32; 64; 128]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "SIMD_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "wV") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [8; 16; 32; 64; 128]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "implicit") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "SIMD_index") Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "rV") Unknown)) - (Unknown, (Just ((T_fn (T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [8; 16; 32; 64; 128]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "implicit") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "SIMD_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "range") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant zero) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "rVpart") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))); (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one))]))]) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "SCTLR_type") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "SCTLR'") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "SCTLR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "AArch64_UndefinedFault") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "AccType") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "AddressDescriptor") Unknown)) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "AArch64_TranslateAddress") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "AccType"); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_id "AddressDescriptor") (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "AArch64_WFxTrap") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_id "boolean") (T_id "bit"))]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "AccType") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "FaultRecord") Unknown)) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "AArch64_AlignmentFault") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_id "AccType"); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_id "boolean") (T_id "bit"))]) (T_id "FaultRecord") (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "AArch64_ResetGeneralRegisters") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "AArch64_ResetSIMDFPRegisters") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "AArch64_ResetSpecialRegisters") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "integer") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "AArch64_IsExclusiveVA") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "DoubleLockStatus") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app (Id_aux (Id "ELUsingAArch32") Unknown) [(E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix - (E_aux (E_case (E_aux (E_field (E_aux (E_id (Id_aux (Id "DBGOSDLR") Unknown)) (Unknown, (Just ((T_abbrev (T_id "DBGOSDLR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "DLK") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_var "'nv102"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_var "'nv102"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_var "'nv102"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_var "'nv102"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_var "'nv102"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_app_infix - (E_aux (E_case (E_aux (E_field (E_aux (E_id (Id_aux (Id "DBGPRCR") Unknown)) (Unknown, (Just ((T_abbrev (T_id "DBGPRCR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "CORENPDRQ") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv88")); (T_arg_nexp (Ne_var "'nv87"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv88")); (T_arg_nexp (Ne_var "'nv87"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv88")); (T_arg_nexp (Ne_var "'nv87"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv88")); (T_arg_nexp (Ne_var "'nv87"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv88")); (T_arg_nexp (Ne_var "'nv87"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app (Id_aux (Id "~") Unknown) [ - (E_aux (E_app (Id_aux (Id "Halted") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix - (E_aux (E_case (E_aux (E_field (E_aux (E_id (Id_aux (Id "OSDLR_EL1") Unknown)) (Unknown, (Just ((T_abbrev (T_id "OSDLR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "DLK") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv207")); (T_arg_nexp (Ne_var "'nv206"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv207")); (T_arg_nexp (Ne_var "'nv206"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv207")); (T_arg_nexp (Ne_var "'nv206"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv207")); (T_arg_nexp (Ne_var "'nv206"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv207")); (T_arg_nexp (Ne_var "'nv206"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_app_infix - (E_aux (E_case (E_aux (E_field (E_aux (E_id (Id_aux (Id "DBGPRCR_EL1") Unknown)) (Unknown, (Just ((T_abbrev (T_id "DBGPRCR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "CORENPDRQ") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv192")); (T_arg_nexp (Ne_var "'nv191"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv192")); (T_arg_nexp (Ne_var "'nv191"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv192")); (T_arg_nexp (Ne_var "'nv191"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv192")); (T_arg_nexp (Ne_var "'nv191"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv192")); (T_arg_nexp (Ne_var "'nv191"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app (Id_aux (Id "~") Unknown) [ - (E_aux (E_app (Id_aux (Id "Halted") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_enum (Id_aux (Id "signalValue") Unknown) (Name_sect_aux Name_sect_none Unknown) [(Id_aux (Id "LOw") Unknown); (Id_aux (Id "HIGH") Unknown)] false) (Unknown, (Just ((T_id "signalValue"), (Tag_enum one), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "signalValue") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "signalDBGEN") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "not_implemented_extern") Unknown) [(E_aux (E_lit (L_aux (L_string "signalDBGEN") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "signalValue"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "signalValue"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "signalValue") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "signalValue") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "signelNIDEN") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "not_implemented_extern") Unknown) [(E_aux (E_lit (L_aux (L_string "signalNIDEN") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "signalValue"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "signalValue"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "signalValue") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "signalValue") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "signalSPIDEN") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "not_implemented_extern") Unknown) [(E_aux (E_lit (L_aux (L_string "signalSPIDEN") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "signalValue"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "signalValue"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "signalValue") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "signalValue") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "signalDPNIDEN") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "not_implemented_extern") Unknown) [(E_aux (E_lit (L_aux (L_string "signalSPNIDEN") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "signalValue"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "signalValue"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "signalValue") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "ExternalInvasiveDebugEnabled") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "signalDBGEN") Unknown) []) (Unknown, (Just ((T_id "signalValue"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "HIGH") Unknown)) (Unknown, (Just ((T_id "signalValue"), (Tag_enum one), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "ExternalSecureInvasiveDebugEnabled") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "~") Unknown) [ - (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app (Id_aux (Id "~") Unknown) [ - (E_aux (E_app (Id_aux (Id "IsSecure") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "ExternalInvasiveDebugEnabled") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "signalSPIDEN") Unknown) []) (Unknown, (Just ((T_id "signalValue"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "HIGH") Unknown)) (Unknown, (Just ((T_id "signalValue"), (Tag_enum one), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "DCPSInstruction") Unknown) (P_aux (P_id (Id_aux (Id "target_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "DCPSInstruction") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "DRPSInstruction") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "DRPSInstruction") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "DebugHalt_Breakpoint") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "DebugHalt_EDBGRQ") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "DebugHalt_Step_Normal") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "DebugHalt_Step_Exclusive") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "DebugHalt_OSUnlockCatch") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "DebugHalt_ResetCatch") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "DebugHalt_Watchpoint") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "DebugHalt_HaltInstruction") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "DebugHalt_SoftwareAccess") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "DebugHalt_ExceptionCatch") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "DebugHalt_Step_NoSyndrome") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "Halt") Unknown) (P_aux (P_id (Id_aux (Id "reason") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "Halt") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "Halted") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "~") Unknown) [ - (E_aux (E_app_infix (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_field (E_aux (E_id (Id_aux (Id "EDSCR") Unknown)) (Unknown, (Just ((T_abbrev (T_id "EDSCR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "STATUS") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_field (E_aux (E_id (Id_aux (Id "EDSCR") Unknown)) (Unknown, (Just ((T_abbrev (T_id "EDSCR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "STATUS") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv8")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv10")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "HaltingAllowed") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "Halted") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app (Id_aux (Id "DoubleLockStatus") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app (Id_aux (Id "IsSecure") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ExternalSecureInvasiveDebugEnabled") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ExternalInvasiveDebugEnabled") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "ReservedValue") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "AArch64_UndefinedFault") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "UnallocatedEncoding") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "AArch64_UndefinedFault") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "IsFault") Unknown) (P_aux (P_id (Id_aux (Id "addrdesc") Unknown)) (Unknown, (Just ((T_id "AddressDescriptor"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app_infix (E_aux (E_field (E_aux (E_field (E_aux (E_id (Id_aux (Id "addrdesc") Unknown)) (Unknown, (Just ((T_id "AddressDescriptor"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "fault") Unknown)) (Unknown, (Just ((T_id "FaultRecord"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "type") Unknown)) (Unknown, (Just ((T_id "Fault"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_id (Id_aux (Id "Fault_None") Unknown)) (Unknown, (Just ((T_id "Fault"), (Tag_enum 18), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "AddressDescriptor") (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "ASR") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "result'") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_app (Id_aux (Id "ASR_C") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "0v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "1v") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_tuple [(E_aux (E_id (Id_aux (Id "0v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "1v") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result'") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'S") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_bounded_ge (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown) (Nexp_aux (Nexp_constant one) Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "ASR_C") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown) (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown) (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "extended_x") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "SignExtend") Unknown) [ - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "extended_x") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_app (Id_aux (Id "length") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv109")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv81"); (Ne_var "'nv82")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv49") (Ne_var "'nv50")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown) (Id_aux (Id "carry_out") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector_access (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "extended_x") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv118") (Ne_var "'nv119")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_tuple [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "carry_out") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))]))]) (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "Align'") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "y") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "y") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "quot") Unknown) (E_aux (E_id (Id_aux (Id "y") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv29"))])), (Tag_extern (Just "quot")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv13") (Ne_var "'nv14")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "Align") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "y") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Align'") Unknown) [(E_aux (E_app (Id_aux (Id "UInt") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv2"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "y") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "range") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant zero) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "CountLeadingSignBits") Unknown) (P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "CountLeadingZeroBits") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "length") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv158")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv132") (Ne_var "'nv133")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv85") (Ne_const zero)); (Ne_const one)])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv85") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv80")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv85") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "^") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "length") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv119")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv93") (Ne_var "'nv94")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv85")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv85") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv80")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv85") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv80")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv85") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_xor")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv85") (Ne_const zero)); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv85") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv85") (Ne_const zero)); (Ne_const one)]))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'N"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'N"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "range") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant zero) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "CountLeadingZeroBits") Unknown) (P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv1"); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_app (Id_aux (Id "HighestSetBit") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv1"); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv1"); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const (zero - 1))]))])))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const (zero - 1))]))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv1"); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)]))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)]))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "Some") Unknown) [(P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const (zero - 1))]))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const (zero - 1))]))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "length") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv1"); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv98")); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)]))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv72") (Ne_var "'nv73")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const (zero - 1))]))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv40") (Ne_var "'nv41")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv40") (Ne_var "'nv41")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv40") (Ne_var "'nv41")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)]))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv1"); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)]))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_bounded_le (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown) (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "implicit") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "Extend") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "Extend") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "unsigned") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_id (Id_aux (Id "unsigned") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [(E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "SignExtend") Unknown) [(E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "range") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant zero) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "HighestSetBit") Unknown) (P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "length") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "range") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant zero) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))]))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bool") Unknown)) Unknown) (Id_aux (Id "break") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "bool") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_for (Id_aux (Id "i") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv10") (Ne_var "'nv11")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Ord_aux Ord_dec Unknown) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "break") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "bool") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_case - (E_aux (E_vector_access - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "i") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv7"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv78")); (T_arg_nexp (Ne_var "'nv77"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv78")); (T_arg_nexp (Ne_var "'nv77"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv78")); (T_arg_nexp (Ne_var "'nv77"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv78")); (T_arg_nexp (Ne_var "'nv77"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv78")); (T_arg_nexp (Ne_var "'nv77"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))]))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "i") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv7"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "break") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "bool") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "break") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "bool") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))]))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))]))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))]))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))]))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))]))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))]))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))]))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))]))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))]))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "integer") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "Int") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "unsigned") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_id "boolean") (T_id "bit"))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_id (Id_aux (Id "unsigned") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv2"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "SInt") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv6"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_id "boolean") (T_id "bit"))]) (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "IsZero") Unknown) (P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "IsZeroBit") Unknown) (P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app (Id_aux (Id "IsZero") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "bit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_id "bit") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "LSL") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "result'") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_app (Id_aux (Id "LSL_C") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "0v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "1v") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_tuple [(E_aux (E_id (Id_aux (Id "0v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "1v") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result'") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'S") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_bounded_ge (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown) (Nexp_aux (Nexp_constant one) Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "LSL_C") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "extended_x") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_var "'S")]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_var "'S")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "Zeros") Unknown) [(E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'S")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'S")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'S")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_var "'N"); (Ne_var "'S")]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_var "'S")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_var "'S")]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_var "'S")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "mask") Unknown) [(E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "extended_x") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_var "'S")]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_var "'S")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_var "'S")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv10")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "mask")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown) (Id_aux (Id "carry_out") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector_access (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "extended_x") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_var "'S")]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_var "'S")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_var "'S")]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_var "'S")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv14")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_tuple [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "carry_out") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))]))]) (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "LSR") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "result'") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_app (Id_aux (Id "LSR_C") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "0v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "1v") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_tuple [(E_aux (E_id (Id_aux (Id "0v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "1v") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result'") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'S") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_bounded_ge (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown) (Nexp_aux (Nexp_constant one) Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "LSR_C") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "extended_x") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_var "'S")]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_var "'S")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [ - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_var "'S")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_var "'S")]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_var "'S")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_var "'S")]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_var "'S")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "extended_x") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_var "'S")]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_var "'S")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_var "'S")]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_var "'S")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_app (Id_aux (Id "length") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv109")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv81"); (Ne_var "'nv82")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv49") (Ne_var "'nv50")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown) (Id_aux (Id "carry_out") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector_access (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "extended_x") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_var "'S")]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_var "'S")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_var "'S")]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_var "'S")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv118") (Ne_var "'nv119")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_tuple [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "carry_out") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))]))]) (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv7") (Ne_var "'S")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "integer") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "Min") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "a") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "b") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "a") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "<=") Unknown) (E_aux (E_id (Id_aux (Id "b") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "lteq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "a") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "b") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)])))]) (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "uMin") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "a") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "b") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "a") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "<=") Unknown) (E_aux (E_id (Id_aux (Id "b") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "lteq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "a") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "b") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "NOT") Unknown) (P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_not")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "NOT'") Unknown) (P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "bit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "bit") (T_id "bit") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "Ones") Unknown) (P_aux (P_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "Replicate") Unknown) [(E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const one); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "ROR") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "result'") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_app (Id_aux (Id "ROR_C") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "0v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "1v") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_tuple [(E_aux (E_id (Id_aux (Id "0v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "1v") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result'") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'S") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_bounded_ge (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown) (Nexp_aux (Nexp_constant one) Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_bounded_le (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "ROR_C") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "length") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "nat") Unknown)) Unknown) (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "nat") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "mod") Unknown) (E_aux (E_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_minus (Ne_var "'nv9") (Ne_const one)))])), (Tag_extern (Just "modulo")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "LSR") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "nat") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "LSL") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "nat") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv46") (Ne_var "'nv47")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_or")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown) (Id_aux (Id "carry_out") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector_access (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv78") (Ne_var "'nv79")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_tuple [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "carry_out") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))]))]) (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "Replicate") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_var "'nv8"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "M") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_var "'nv8"))])); (T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_tuple [(E_aux (E_app (Id_aux (Id "length") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "length") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'M"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'M"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'M"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_var "'nv8"))])); (T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_var "'nv8"))])); (T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_app_infix - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_var "'nv8"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "mod") Unknown) (E_aux (E_id (Id_aux (Id "M") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_minus (Ne_var "'nv31") (Ne_const one)))])), (Tag_extern (Just "modulo")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "zeros") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'N") (Ne_var "'M")); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_minus (Ne_var "'N") (Ne_var "'M"))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "Zeros") Unknown) [ - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'M"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'M"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'N") (Ne_var "'M")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'N") (Ne_var "'M")); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_minus (Ne_var "'N") (Ne_var "'M"))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'N") (Ne_var "'M")); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_minus (Ne_var "'N") (Ne_var "'M"))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_for (Id_aux (Id "i") Unknown) (E_aux (E_id (Id_aux (Id "M") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_var "'nv8"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "M") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Ord_aux Ord_inc Unknown) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "<<") Unknown) (E_aux (E_id (Id_aux (Id "M") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_leftshift")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "zeros") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'N") (Ne_var "'M")); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_minus (Ne_var "'N") (Ne_var "'M"))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv50")); (T_arg_nexp (Ne_minus (Ne_var "'N") (Ne_var "'M"))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv52")); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_minus (Ne_var "'N") (Ne_var "'M")); (Ne_var "'M")]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'N") (Ne_var "'M")); (Ne_var "'M")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_or")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "SInt") Unknown) (P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "signed") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv4"))])), (Tag_extern (Just "signed")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv4"))])), (Tag_extern (Just "signed")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'M"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'M"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "SignExtend") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv2"); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'nv2"); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_as (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "h") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "remainder") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_var "'nv2")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv2"); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'nv2"); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv2"); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'nv2"); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv2"); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'nv2"); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "Replicate") Unknown) [ - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv2"); (Ne_const one)]))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv2"); (Ne_const one)]))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'N") (Ne_add [(Ne_var "'nv2"); (Ne_const one)])))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_id (Id_aux (Id "h") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const one); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'N") (Ne_add [(Ne_var "'nv2"); (Ne_const one)])); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_minus (Ne_var "'N") (Ne_add [(Ne_var "'nv2"); (Ne_const one)]))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'N") (Ne_add [(Ne_var "'nv2"); (Ne_const one)])); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_minus (Ne_var "'N") (Ne_add [(Ne_var "'nv2"); (Ne_const one)]))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'N") (Ne_add [(Ne_var "'nv2"); (Ne_const one)])); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_minus (Ne_var "'N") (Ne_add [(Ne_var "'nv2"); (Ne_const one)]))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv2"); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'nv2"); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_add [(Ne_var "'nv2"); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_minus (Ne_var "'N") (Ne_add [(Ne_var "'nv2"); (Ne_const one)])); (Ne_add [(Ne_var "'nv2"); (Ne_const one)])]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'N") (Ne_add [(Ne_var "'nv2"); (Ne_const one)])); (Ne_add [(Ne_var "'nv2"); (Ne_const one)])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv2"); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'nv2"); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "UInt") Unknown) (P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "unsigned") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv4"))])), (Tag_extern (Just "unsigned")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'M"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'M"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "ZeroExtend") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "Zeros") Unknown) [ - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'M"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'M"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_lit (L_aux (L_num (zero - 1)) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const (zero - 1)))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'M") (Ne_const (zero - 1))))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_mult (Ne_var "'M") (Ne_const (zero - 1)))]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_mult (Ne_var "'M") (Ne_const (zero - 1)))]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_mult (Ne_var "'M") (Ne_const (zero - 1)))])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_mult (Ne_var "'M") (Ne_const (zero - 1)))]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_mult (Ne_var "'M") (Ne_const (zero - 1)))])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_mult (Ne_var "'M") (Ne_const (zero - 1)))]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_mult (Ne_var "'M") (Ne_const (zero - 1)))])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_mult (Ne_var "'M") (Ne_const (zero - 1)))]); (Ne_var "'M")]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_mult (Ne_var "'M") (Ne_const (zero - 1)))]); (Ne_var "'M")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "Zeros") Unknown) (P_aux (P_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "BitReverse") Unknown) (P_aux (P_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "length") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_for (Id_aux (Id "i") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv10") (Ne_var "'nv11")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Ord_aux Ord_inc Unknown) - (E_aux (E_assign (LEXP_aux (LEXP_vector - (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_id (Id_aux (Id "i") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv6"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv93") (Ne_var "'nv94")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv67") (Ne_var "'nv68")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_vector_access (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "i") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv6"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "HaveCRCExt") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_field (E_aux (E_id (Id_aux (Id "IMPLEMENTATION_DEFINED") Unknown)) (Unknown, (Just ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "HaveCRCExt") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtyone) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtytwo) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "Poly32Mod2") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "poly") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "length") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id ">") Unknown) (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "gt")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "data'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_minus (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant thirtytwo) Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_minus (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant thirtytwo) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "zeros") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'N") (Ne_const thirtytwo)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_minus (Ne_var "'N") (Ne_const thirtytwo))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "Zeros") Unknown) [(E_aux (E_app_infix - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'N") (Ne_const thirtytwo)))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'N") (Ne_const thirtytwo)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_minus (Ne_var "'N") (Ne_const thirtytwo))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'N") (Ne_const thirtytwo)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_minus (Ne_var "'N") (Ne_const thirtytwo))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_for (Id_aux (Id "i") Unknown) (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv15") (Ne_var "'nv16")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Ord_aux Ord_dec Unknown) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_case - (E_aux (E_vector_access - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "i") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_var "'nv12"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv58")); (T_arg_nexp (Ne_var "'nv57"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv58")); (T_arg_nexp (Ne_var "'nv57"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv58")); (T_arg_nexp (Ne_var "'nv57"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv58")); (T_arg_nexp (Ne_var "'nv57"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv58")); (T_arg_nexp (Ne_var "'nv57"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_vector_range - (LEXP_aux (LEXP_id (Id_aux (Id "data'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "i") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_var "'nv12"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv66") (Ne_var "'nv67")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv63")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv63") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "i") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_var "'nv12"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv209") (Ne_var "'nv210")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv205")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv63") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv163")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv63") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "^") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "poly") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv166")); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "zeros") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'N") (Ne_const thirtytwo)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_minus (Ne_var "'N") (Ne_const thirtytwo))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'N") (Ne_const thirtytwo)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_minus (Ne_var "'N") (Ne_const thirtytwo))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "i") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_var "'nv12"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num 33) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const 33))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv176") (Ne_var "'nv177")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv172")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv172") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv168")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv172") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const thirtytwo); (Ne_add [(Ne_minus (Ne_var "'nv172") (Ne_const zero)); (Ne_const one)])]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_add [(Ne_minus (Ne_var "'nv172") (Ne_const zero)); (Ne_const one)])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv163")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv63") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv163")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv63") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_xor")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv63")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv63") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "ClearExclusiveByAddress") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "paddress") Unknown)) (Unknown, (Just ((T_id "FullAddress"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "processorid") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "FullAddress"); (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "info") Unknown) [(E_aux (E_lit (L_aux (L_string "The model does not implement the exclusive monitors explicitly.") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "FullAddress"); (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_id "unit") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "ClearExclusiveLocal") Unknown) (P_aux (P_id (Id_aux (Id "processorid") Unknown)) (Unknown, (Just ((T_abbrev (T_id "int") (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "info") Unknown) [(E_aux (E_lit (L_aux (L_string "The model does not implement the exclusive monitors explicitly.") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_abbrev (T_id "int") (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))) (T_id "unit") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "ExclusiveMonitorsStatus") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "info") Unknown) [(E_aux (E_lit (L_aux (L_string "The model does not implement the exclusive monitors explicitly.") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "ExclusiveMonitorsStatus should not be called") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "bit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "bit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "IsExclusiveGlobal") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "paddress") Unknown)) (Unknown, (Just ((T_id "FullAddress"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "processorid") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "FullAddress"); (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "info") Unknown) [(E_aux (E_lit (L_aux (L_string "The model does not implement the exclusive monitors explicitly.") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "FullAddress"); (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "IsExclusiveLocal") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "paddress") Unknown)) (Unknown, (Just ((T_id "FullAddress"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "processorid") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "FullAddress"); (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "info") Unknown) [(E_aux (E_lit (L_aux (L_string "The model does not implement the exclusive monitors explicitly.") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "FullAddress"); (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "MarkExclusiveGlobal") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "paddress") Unknown)) (Unknown, (Just ((T_id "FullAddress"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "processorid") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "FullAddress"); (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "info") Unknown) [(E_aux (E_lit (L_aux (L_string "The model does not implement the exclusive monitors explicitly.") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "FullAddress"); (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_id "unit") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "MarkExclusiveLocal") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "paddress") Unknown)) (Unknown, (Just ((T_id "FullAddress"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "processorid") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "FullAddress"); (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "info") Unknown) [(E_aux (E_lit (L_aux (L_string "The model does not implement the exclusive monitors explicitly.") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "FullAddress"); (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_id "unit") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "integer") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "ProcessorID") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AddWithCarry") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "y") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "carry_in") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "unsigned_sum") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv116"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "y") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv114"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv85"); (Ne_var "'nv86")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_id (Id_aux (Id "carry_in") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const one); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv76"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv47"); (Ne_var "'nv48")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "integer") Unknown)) Unknown) (Id_aux (Id "signed_sum") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "SInt") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv232"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_app (Id_aux (Id "SInt") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "y") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv230"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv201"); (Ne_var "'nv202")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_id (Id_aux (Id "carry_in") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const one); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv192"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv163"); (Ne_var "'nv164")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "x") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "unsigned_sum") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector_access (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "length") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv268")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv242") (Ne_var "'nv243")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown) (Id_aux (Id "z") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app (Id_aux (Id "IsZero") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown) (Id_aux (Id "c") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "UInt") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv287"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "unsigned_sum") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown) (Id_aux (Id "v") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "SInt") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv304"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "signed_sum") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_tuple [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv306")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_id (Id_aux (Id "z") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv310")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_id (Id_aux (Id "c") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv314")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_id (Id_aux (Id "v") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv316")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const one); (Ne_const one)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv312")); (T_arg_nexp (Ne_var "'nv311")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const one); (Ne_var "'nv311")]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_var "'nv311")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv308")); (T_arg_nexp (Ne_var "'nv307")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const one); (Ne_var "'nv307")]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_var "'nv307")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]) (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "BigEndian") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "bigend") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "UsingAArch32") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "bigend") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "PSTATE_E") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "PSTATE_E")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "bigend") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_field (E_aux (E_id (Id_aux (Id "SCTLR_EL1") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SCTLR_EL1_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "E0E") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "bigend") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_field (E_aux (E_app (Id_aux (Id "SCTLR'") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "SCTLR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "EE") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'nv42"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'nv42"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'nv42"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'nv42"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'nv42"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))));(E_aux (E_id (Id_aux (Id "bigend") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'W") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'W") Unknown) [8; 16; 32; 64; 128]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'W") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'W") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'W") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'W") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "BigEndianReverse") Unknown)) - (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_rec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'W") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'W") Unknown) [8; 16; 32; 64; 128]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'W") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'W") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "BigEndianReverse") Unknown) (P_aux (P_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "width") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "length") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'W"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "half") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "width") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "quot") Unknown) (E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv7"))])), (Tag_extern (Just "quot")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "width") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "BigEndianReverse") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "half") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv41") (Ne_var "'nv42")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv37")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv37") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv37") (Ne_const zero)); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv37") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv37") (Ne_const zero)); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv37") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv37") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "BigEndianReverse") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "width") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv75") (Ne_var "'nv76")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "half") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv71")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv71") (Ne_var "'nv72")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv71") (Ne_var "'nv72")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv71") (Ne_var "'nv72")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv71") (Ne_var "'nv72")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv71") (Ne_var "'nv72")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv32")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv71") (Ne_var "'nv72")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv37") (Ne_const zero)); (Ne_const one)]); (Ne_add [(Ne_minus (Ne_var "'nv71") (Ne_var "'nv72")); (Ne_const one)])]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv37") (Ne_const zero)); (Ne_const one)]); (Ne_add [(Ne_minus (Ne_var "'nv71") (Ne_var "'nv72")); (Ne_const one)])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_extern_no_rename (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "DataMemoryBarrier_Reads") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_extern_no_rename (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "DataMemoryBarrier_Writes") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_extern_no_rename (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "DataMemoryBarrier_All") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "DataMemoryBarrier") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "domain") Unknown)) (Unknown, (Just ((T_id "MBReqDomain"), (Tag_enum four), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "types") Unknown)) (Unknown, (Just ((T_id "MBReqTypes"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "MBReqDomain"); (T_id "MBReqTypes")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "domain") Unknown)) (Unknown, (Just ((T_id "MBReqDomain"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_id (Id_aux (Id "MBReqDomain_FullSystem") Unknown)) (Unknown, (Just ((T_id "MBReqDomain"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "domain") Unknown)) (Unknown, (Just ((T_id "MBReqDomain"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_id (Id_aux (Id "MBReqDomain_InnerShareable") Unknown)) (Unknown, (Just ((T_id "MBReqDomain"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "DataMemoryBarrier: not MBReqDomain_FullSystem or _InnerShareable") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "types") Unknown)) (Unknown, (Just ((T_id "MBReqTypes"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MBReqTypes_Reads") Unknown) []) (Unknown, (Just ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "DataMemoryBarrier_Reads") Unknown) []) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MBReqTypes_Writes") Unknown) []) (Unknown, (Just ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "DataMemoryBarrier_Writes") Unknown) []) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MBReqTypes_All") Unknown) []) (Unknown, (Just ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "DataMemoryBarrier_All") Unknown) []) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_barr Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "MBReqDomain"); (T_id "MBReqTypes")]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_barr Unknown); (BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_barr Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_extern_no_rename (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "DataSynchronizationBarrier_Reads") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_extern_no_rename (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "DataSynchronizationBarrier_Writes") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_extern_no_rename (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "DataSynchronizationBarrier_All") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "DataSynchronizationBarrier") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "domain") Unknown)) (Unknown, (Just ((T_id "MBReqDomain"), (Tag_enum four), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "types") Unknown)) (Unknown, (Just ((T_id "MBReqTypes"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "MBReqDomain"); (T_id "MBReqTypes")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "domain") Unknown)) (Unknown, (Just ((T_id "MBReqDomain"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_id (Id_aux (Id "MBReqDomain_FullSystem") Unknown)) (Unknown, (Just ((T_id "MBReqDomain"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "DataSynchronizationBarrier: not MBReqDomain_FullSystem") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "types") Unknown)) (Unknown, (Just ((T_id "MBReqTypes"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MBReqTypes_Reads") Unknown) []) (Unknown, (Just ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "DataSynchronizationBarrier_Reads") Unknown) []) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MBReqTypes_Writes") Unknown) []) (Unknown, (Just ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "DataSynchronizationBarrier_Writes") Unknown) []) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MBReqTypes_All") Unknown) []) (Unknown, (Just ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "DataSynchronizationBarrier_All") Unknown) []) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_barr Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "MBReqDomain"); (T_id "MBReqTypes")]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_barr Unknown); (BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_barr Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "PrefetchHint") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "integer") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "Hint_Prefetch") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "PrefetchHint"); (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_id "boolean") (T_id "bit"))]) (T_id "unit") (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "Hint_Prefetch") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "addr") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "hint") Unknown)) (Unknown, (Just ((T_id "PrefetchHint"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "target") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "stream") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "PrefetchHint"); (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_id "boolean") (T_id "bit"))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "PrefetchHint"); (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_id "boolean") (T_id "bit"))]) (T_id "unit") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_extern_no_rename (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "rMem_NORMAL") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))]))]) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_extern_no_rename (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "rMem_STREAM") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))]))]) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_extern_no_rename (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "rMem_ORDERED") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))]))]) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_extern_no_rename (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "rMem_ATOMIC") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))]))]) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_extern_no_rename (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "rMem_ATOMIC_ORDERED") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))]))]) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_record (Id_aux (Id "read_buffer_type") Unknown) (Name_sect_aux Name_sect_none Unknown) (TypQ_aux TypQ_no_forall Unknown) [ - ((Typ_aux (Typ_id (Id_aux (Id "AccType") Unknown)) Unknown), (Id_aux (Id "acctype") Unknown)); - ((Typ_aux (Typ_id (Id_aux (Id "bool") Unknown)) Unknown), (Id_aux (Id "exclusive") Unknown)); - ((Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown), (Id_aux (Id "address") Unknown)); - ((Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown), (Id_aux (Id "size") Unknown));] false) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "empty_read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_record (FES_aux (FES_Fexps [(FE_aux (FE_Fexp (Id_aux (Id "size") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "acctype") Unknown) (E_aux (E_id (Id_aux (Id "AccType_NORMAL") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "AccType"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "exclusive") Unknown) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "address") Unknown) (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] false) (Unknown,Nothing))) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "read_buffer_type") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "_rMem") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "desc") Unknown)) (Unknown, (Just ((T_id "AddressDescriptor"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 12), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "read_buffer_type"); (T_id "AddressDescriptor"); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType"); (T_abbrev (T_id "bool") (T_id "bit"))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_record (FES_aux (FES_Fexps [ - (FE_aux (FE_Fexp (Id_aux (Id "acctype") Unknown) (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "AccType"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "exclusive") Unknown) (E_aux (E_id (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "address") Unknown) - (E_aux (E_field (E_aux (E_field (E_aux (E_id (Id_aux (Id "desc") Unknown)) (Unknown, (Just ((T_id "AddressDescriptor"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "paddress") Unknown)) (Unknown, (Just ((T_id "FullAddress"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "physicaladdress") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "size") Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] false) (Unknown,Nothing))) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_app_infix - (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assert (E_aux (E_app_infix (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assert (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv76")); (T_arg_nexp (Ne_var "'nv77")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv76")); (T_arg_nexp (Ne_var "'nv77")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv65")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_field (E_aux (E_field (E_aux (E_id (Id_aux (Id "desc") Unknown)) (Unknown, (Just ((T_id "AddressDescriptor"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "paddress") Unknown)) (Unknown, (Just ((T_id "FullAddress"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "physicaladdress") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv66")); (T_arg_nexp (Ne_var "'nv65")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_record_update (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (FES_aux (FES_Fexps [ - (FE_aux (FE_Fexp (Id_aux (Id "size") Unknown) - (E_aux (E_app_infix (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv97"); (Ne_var "'nv98")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv97"); (Ne_var "'nv98")]))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] false) (Unknown,Nothing))) (Unknown,(Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "read_buffer_type"); (T_id "AddressDescriptor"); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType"); (T_abbrev (T_id "bool") (T_id "bit"))]) (T_id "read_buffer_type") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "flush_read_buffer") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "read_buffer_type"); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_app_infix (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight)))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_case (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "AccType_ATOMIC") Unknown) []) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rMem_ATOMIC") Unknown) [ - (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv14") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv14") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "AccType_ORDERED") Unknown) []) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rMem_ATOMIC_ORDERED") Unknown) [ - (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv15") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv15") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux P_wild (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "unimplemented memory access") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_case (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "AccType_NORMAL") Unknown) []) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rMem_NORMAL") Unknown) [ - (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv16") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv16") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "AccType_STREAM") Unknown) []) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rMem_STREAM") Unknown) [ - (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv17") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv17") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "AccType_UNPRIV") Unknown) []) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rMem_NORMAL") Unknown) [ - (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv18") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv18") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "AccType_ORDERED") Unknown) []) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rMem_ORDERED") Unknown) [ - (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_field (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv19") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv19") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "AccType_ATOMIC") Unknown) []) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assert (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_lit (L_aux (L_string "Reached AccType_ATOMIC: unreachable when address values are known") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_id "string"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "BigEndian") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "BigEndianReverse") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "read_buffer_type"); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))]))]) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rmem Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rmem Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_extern_no_rename (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "wMem_Addr_NORMAL") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))]))]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown)), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_extern_no_rename (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "wMem_Addr_ORDERED") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))]))]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown)), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_extern_no_rename (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "wMem_Addr_ATOMIC") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))]))]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown)), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_extern_no_rename (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "wMem_Addr_ATOMIC_ORDERED") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))]))]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown)), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "wMem_Addr") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 12), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "excl") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType"); (T_abbrev (T_id "boolean") (T_id "bit"))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_case (E_aux (E_tuple [(E_aux (E_id (Id_aux (Id "excl") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_abbrev (T_id "boolean") (T_id "bit")); (T_id "AccType")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_app (Id_aux (Id "AccType_NORMAL") Unknown) []) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "bit"); (T_id "AccType")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem_Addr_NORMAL") Unknown) [ - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_app (Id_aux (Id "AccType_STREAM") Unknown) []) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "bit"); (T_id "AccType")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem_Addr_NORMAL") Unknown) [ - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_app (Id_aux (Id "AccType_UNPRIV") Unknown) []) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "bit"); (T_id "AccType")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem_Addr_NORMAL") Unknown) [ - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_app (Id_aux (Id "AccType_ORDERED") Unknown) []) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "bit"); (T_id "AccType")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem_Addr_ORDERED") Unknown) [ - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_app (Id_aux (Id "AccType_ATOMIC") Unknown) []) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "bit"); (T_id "AccType")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem_Addr_ATOMIC") Unknown) [ - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_app (Id_aux (Id "AccType_ORDERED") Unknown) []) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "bit"); (T_id "AccType")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem_Addr_ATOMIC_ORDERED") Unknown) [ - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_eamem Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux P_wild (Unknown, (Just ((T_tup [(T_abbrev (T_id "boolean") (T_id "bit")); (T_id "AccType")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "unrecognised memory access") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType"); (T_abbrev (T_id "boolean") (T_id "bit"))]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_extern_no_rename (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "wMem_Val_NORMAL") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown)), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_extern_no_rename (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "bool") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "wMem_Val_ATOMIC") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (T_abbrev (T_id "bool") (T_id "bit")) (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown)), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_record (Id_aux (Id "write_buffer_type") Unknown) (Name_sect_aux Name_sect_none Unknown) (TypQ_aux TypQ_no_forall Unknown) [ - ((Typ_aux (Typ_id (Id_aux (Id "AccType") Unknown)) Unknown), (Id_aux (Id "acctype") Unknown)); - ((Typ_aux (Typ_id (Id_aux (Id "bool") Unknown)) Unknown), (Id_aux (Id "exclusive") Unknown)); - ((Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown), (Id_aux (Id "address") Unknown)); - ((Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown), (Id_aux (Id "value") Unknown)); - ((Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown), (Id_aux (Id "size") Unknown));] false) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_val (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "empty_write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_record (FES_aux (FES_Fexps [(FE_aux (FE_Fexp (Id_aux (Id "size") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "acctype") Unknown) (E_aux (E_id (Id_aux (Id "AccType_NORMAL") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "AccType"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "exclusive") Unknown) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "address") Unknown) (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "value") Unknown) (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num onetwentyeight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const onetwentyeight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] false) (Unknown,Nothing))) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "write_buffer_type") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "_wMem") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "desc") Unknown)) (Unknown, (Just ((T_id "AddressDescriptor"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 12), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "write_buffer_type"); (T_id "AddressDescriptor"); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType"); (T_abbrev (T_id "bool") (T_id "bit")); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_record (FES_aux (FES_Fexps [ - (FE_aux (FE_Fexp (Id_aux (Id "acctype") Unknown) (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "AccType"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "exclusive") Unknown) (E_aux (E_id (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "address") Unknown) - (E_aux (E_field (E_aux (E_field (E_aux (E_id (Id_aux (Id "desc") Unknown)) (Unknown, (Just ((T_id "AddressDescriptor"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "paddress") Unknown)) (Unknown, (Just ((T_id "FullAddress"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "physicaladdress") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "value") Unknown) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [ - (E_aux (E_lit (L_aux (L_num onetwentyeight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const onetwentyeight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const onetwentyeight); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "size") Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] false) (Unknown,Nothing))) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_app_infix - (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assert (E_aux (E_app_infix (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assert (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv78")); (T_arg_nexp (Ne_var "'nv79")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv78")); (T_arg_nexp (Ne_var "'nv79")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv66")); (T_arg_nexp (Ne_var "'nv67")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_field (E_aux (E_field (E_aux (E_id (Id_aux (Id "desc") Unknown)) (Unknown, (Just ((T_id "AddressDescriptor"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "paddress") Unknown)) (Unknown, (Just ((T_id "FullAddress"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "physicaladdress") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv68")); (T_arg_nexp (Ne_var "'nv67")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_record_update (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (FES_aux (FES_Fexps [ - (FE_aux (FE_Fexp (Id_aux (Id "value") Unknown) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [ - (E_aux (E_lit (L_aux (L_num onetwentyeight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const onetwentyeight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv130")); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv134")); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix - (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv186") (Ne_var "'nv187")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv158") (Ne_var "'nv159")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv136")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv136") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv132")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv136") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_add [(Ne_minus (Ne_var "'nv136") (Ne_const zero)); (Ne_const one)])]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_add [(Ne_minus (Ne_var "'nv136") (Ne_const zero)); (Ne_const one)])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv128"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv128")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const onetwentyeight); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "size") Unknown) - (E_aux (E_app_infix (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv99"); (Ne_var "'nv100")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv99"); (Ne_var "'nv100")]))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] false) (Unknown,Nothing))) (Unknown,(Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "write_buffer_type"); (T_id "AddressDescriptor"); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType"); (T_abbrev (T_id "bool") (T_id "bit")); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (T_id "write_buffer_type") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "flush_write_buffer") Unknown) (P_aux (P_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_app_infix (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "AccType_NORMAL") Unknown) []) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem_Val_NORMAL") Unknown) [(E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv65") (Ne_var "'nv66")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv37") (Ne_var "'nv38")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_mult (Ne_var "'nv11") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv11") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv11") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "AccType_STREAM") Unknown) []) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem_Val_NORMAL") Unknown) [(E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv133") (Ne_var "'nv134")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv105") (Ne_var "'nv106")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv83")); (T_arg_nexp (Ne_mult (Ne_var "'nv79") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv79") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv79") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "AccType_UNPRIV") Unknown) []) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem_Val_NORMAL") Unknown) [(E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv149")); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv201") (Ne_var "'nv202")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv173") (Ne_var "'nv174")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv151")); (T_arg_nexp (Ne_mult (Ne_var "'nv147") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv147") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv147") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "AccType_ORDERED") Unknown) []) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem_Val_NORMAL") Unknown) [(E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv217")); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv269") (Ne_var "'nv270")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv241") (Ne_var "'nv242")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv219")); (T_arg_nexp (Ne_mult (Ne_var "'nv215") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv215") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv215") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux P_wild (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "unrecognised memory access") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "write_buffer_type") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "bool") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "flush_write_buffer_exclusive") Unknown) (P_aux (P_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "AccType_ATOMIC") Unknown) []) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem_Val_ATOMIC") Unknown) [(E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv54") (Ne_var "'nv55")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv26") (Ne_var "'nv27")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_mult (Ne_var "'nv0") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv0") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv0") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "AccType_ORDERED") Unknown) []) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem_Val_ATOMIC") Unknown) [(E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv70")); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_field (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv122") (Ne_var "'nv123")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv94") (Ne_var "'nv95")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv72")); (T_arg_nexp (Ne_mult (Ne_var "'nv68") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv68") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv68") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux P_wild (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "unrecognised memory access") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))));(E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "write_buffer_type") (T_abbrev (T_id "bool") (T_id "bit")) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "BranchTo") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "target") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "branch_type") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "BranchType")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "target'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "target") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Hint_Branch") Unknown) [(E_aux (E_id (Id_aux (Id "branch_type") Unknown)) (Unknown, (Just ((T_id "BranchType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "length") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "target") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv18")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_app (Id_aux (Id "UsingAArch32") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "_PC") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "_PC")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "target") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "_PC")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "_PC")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_app_infix (E_aux (E_app_infix - (E_aux (E_app (Id_aux (Id "length") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "target") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv65")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv65"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app (Id_aux (Id "~") Unknown) [ - (E_aux (E_app (Id_aux (Id "UsingAArch32") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "pstate_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "pstate_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv66")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv68")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix - (E_aux (E_app_infix - (E_aux (E_case - (E_aux (E_vector_access - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "target'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num fiftyfive) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const fiftyfive))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv139")); (T_arg_nexp (Ne_var "'nv138"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv139")); (T_arg_nexp (Ne_var "'nv138"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv139")); (T_arg_nexp (Ne_var "'nv138"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv139")); (T_arg_nexp (Ne_var "'nv138"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv139")); (T_arg_nexp (Ne_var "'nv138"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix - (E_aux (E_case - (E_aux (E_field (E_aux (E_id (Id_aux (Id "TCR_EL1") Unknown)) (Unknown, (Just ((T_abbrev (T_id "TCR_EL1_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "TBI1") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv121")); (T_arg_nexp (Ne_var "'nv120"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv121")); (T_arg_nexp (Ne_var "'nv120"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv121")); (T_arg_nexp (Ne_var "'nv120"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv121")); (T_arg_nexp (Ne_var "'nv120"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv121")); (T_arg_nexp (Ne_var "'nv120"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux - (LEXP_vector_range - (LEXP_aux (LEXP_id (Id_aux (Id "target'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num sixtythree) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtythree))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num fiftysix) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const fiftysix))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const sixtythree) (Ne_const fiftysix)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_minus (Nexp_aux (Nexp_constant sixtythree) Unknown) (Nexp_aux (Nexp_constant fiftysix) Unknown)) Unknown) (Nexp_aux (Nexp_constant one) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const sixtythree) (Ne_const fiftysix)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix - (E_aux (E_case - (E_aux (E_vector_access - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "target'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num fiftyfive) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const fiftyfive))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv216")); (T_arg_nexp (Ne_var "'nv215"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv216")); (T_arg_nexp (Ne_var "'nv215"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv216")); (T_arg_nexp (Ne_var "'nv215"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv216")); (T_arg_nexp (Ne_var "'nv215"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv216")); (T_arg_nexp (Ne_var "'nv215"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_case - (E_aux (E_field (E_aux (E_id (Id_aux (Id "TCR_EL1") Unknown)) (Unknown, (Just ((T_abbrev (T_id "TCR_EL1_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "TBI0") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv198")); (T_arg_nexp (Ne_var "'nv197"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv198")); (T_arg_nexp (Ne_var "'nv197"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv198")); (T_arg_nexp (Ne_var "'nv197"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv198")); (T_arg_nexp (Ne_var "'nv197"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv198")); (T_arg_nexp (Ne_var "'nv197"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_vector_range - (LEXP_aux (LEXP_id (Id_aux (Id "target'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num sixtythree) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtythree))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num fiftysix) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const fiftysix))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const sixtythree) (Ne_const fiftysix)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_minus (Nexp_aux (Nexp_constant sixtythree) Unknown) (Nexp_aux (Nexp_constant fiftysix) Unknown)) Unknown) (Nexp_aux (Nexp_constant one) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const sixtythree) (Ne_const fiftysix)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "pstate_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv223")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv225")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix - (E_aux (E_app_infix - (E_aux (E_case - (E_aux (E_vector_access - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "target'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num fiftyfive) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const fiftyfive))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv296")); (T_arg_nexp (Ne_var "'nv295"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv296")); (T_arg_nexp (Ne_var "'nv295"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv296")); (T_arg_nexp (Ne_var "'nv295"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv296")); (T_arg_nexp (Ne_var "'nv295"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv296")); (T_arg_nexp (Ne_var "'nv295"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix - (E_aux (E_case - (E_aux (E_field (E_aux (E_id (Id_aux (Id "TCR_EL1") Unknown)) (Unknown, (Just ((T_abbrev (T_id "TCR_EL1_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "TBI1") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv278")); (T_arg_nexp (Ne_var "'nv277"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv278")); (T_arg_nexp (Ne_var "'nv277"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv278")); (T_arg_nexp (Ne_var "'nv277"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv278")); (T_arg_nexp (Ne_var "'nv277"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv278")); (T_arg_nexp (Ne_var "'nv277"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux - (LEXP_vector_range - (LEXP_aux (LEXP_id (Id_aux (Id "target'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num sixtythree) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtythree))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num fiftysix) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const fiftysix))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const sixtythree) (Ne_const fiftysix)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_minus (Nexp_aux (Nexp_constant sixtythree) Unknown) (Nexp_aux (Nexp_constant fiftysix) Unknown)) Unknown) (Nexp_aux (Nexp_constant one) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const sixtythree) (Ne_const fiftysix)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix - (E_aux (E_case - (E_aux (E_vector_access - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "target'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num fiftyfive) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const fiftyfive))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv373")); (T_arg_nexp (Ne_var "'nv372"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv373")); (T_arg_nexp (Ne_var "'nv372"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv373")); (T_arg_nexp (Ne_var "'nv372"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv373")); (T_arg_nexp (Ne_var "'nv372"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv373")); (T_arg_nexp (Ne_var "'nv372"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_case - (E_aux (E_field (E_aux (E_id (Id_aux (Id "TCR_EL1") Unknown)) (Unknown, (Just ((T_abbrev (T_id "TCR_EL1_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "TBI0") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv355")); (T_arg_nexp (Ne_var "'nv354"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv355")); (T_arg_nexp (Ne_var "'nv354"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv355")); (T_arg_nexp (Ne_var "'nv354"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv355")); (T_arg_nexp (Ne_var "'nv354"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv355")); (T_arg_nexp (Ne_var "'nv354"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_vector_range - (LEXP_aux (LEXP_id (Id_aux (Id "target'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num sixtythree) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtythree))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num fiftysix) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const fiftysix))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const sixtythree) (Ne_const fiftysix)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_minus (Nexp_aux (Nexp_constant sixtythree) Unknown) (Nexp_aux (Nexp_constant fiftysix) Unknown)) Unknown) (Nexp_aux (Nexp_constant one) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const sixtythree) (Ne_const fiftysix)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "pstate_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv380")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv382")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix - (E_aux (E_case - (E_aux (E_field (E_aux (E_id (Id_aux (Id "TCR_EL2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "TCR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "TBI") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv397")); (T_arg_nexp (Ne_var "'nv396"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv397")); (T_arg_nexp (Ne_var "'nv396"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv397")); (T_arg_nexp (Ne_var "'nv396"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv397")); (T_arg_nexp (Ne_var "'nv396"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv397")); (T_arg_nexp (Ne_var "'nv396"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux - (LEXP_vector_range - (LEXP_aux (LEXP_id (Id_aux (Id "target'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num sixtythree) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtythree))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num fiftysix) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const fiftysix))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const sixtythree) (Ne_const fiftysix)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_minus (Nexp_aux (Nexp_constant sixtythree) Unknown) (Nexp_aux (Nexp_constant fiftysix) Unknown)) Unknown) (Nexp_aux (Nexp_constant one) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const sixtythree) (Ne_const fiftysix)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "pstate_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv401")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv403")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix - (E_aux (E_case - (E_aux (E_field (E_aux (E_id (Id_aux (Id "TCR_EL3") Unknown)) (Unknown, (Just ((T_abbrev (T_id "TCR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "TBI") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv418")); (T_arg_nexp (Ne_var "'nv417"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv418")); (T_arg_nexp (Ne_var "'nv417"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv418")); (T_arg_nexp (Ne_var "'nv417"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv418")); (T_arg_nexp (Ne_var "'nv417"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv418")); (T_arg_nexp (Ne_var "'nv417"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux - (LEXP_vector_range - (LEXP_aux (LEXP_id (Id_aux (Id "target'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num sixtythree) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtythree))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num fiftysix) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const fiftysix))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const sixtythree) (Ne_const fiftysix)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_minus (Nexp_aux (Nexp_constant sixtythree) Unknown) (Nexp_aux (Nexp_constant fiftysix) Unknown)) Unknown) (Nexp_aux (Nexp_constant one) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const sixtythree) (Ne_const fiftysix)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_assert (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "_PC") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "_PC")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "target'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "_PC")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "_PC")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "BranchType")]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "Hint_Branch") Unknown) (P_aux (P_id (Id_aux (Id "hint") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "info") Unknown) [(E_aux (E_lit (L_aux (L_string "This hint can be used for hardware optimization that has no effect on the model.") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "BranchType") (T_id "unit") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "ResetExternalDebugRegisters") Unknown) (P_aux (P_id (Id_aux (Id "b") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "not_implemented_extern") Unknown) [(E_aux (E_lit (L_aux (L_string "ResetExternalDebugRegisters") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_abbrev (T_id "boolean") (T_id "bit")) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_app (Id_aux (Id "implicit") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "ThisInstrAddr") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "ThisInstrAddr") Unknown) (P_aux (P_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "length") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_app_infix - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app (Id_aux (Id "UsingAArch32") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "mask") Unknown) [ - (E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rPC") Unknown) []) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv89")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "mask")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtyone) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtytwo) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "rSPSR") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtyone) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtytwo) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "UsingAArch32") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "rSPSR UsingAArch32") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "pstate_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "pstate_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv0")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "SPSR_EL1") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SPSR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "SPSR_EL1")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "pstate_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "SPSR_EL2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SPSR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "SPSR_EL2")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "pstate_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv6")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv8")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "SPSR_EL3") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SPSR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "SPSR_EL3")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "Unreachable") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))));(E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "ClearEventRegister") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "not_implemented_extern") Unknown) [(E_aux (E_lit (L_aux (L_string "ClearEventRegister") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "ConditionHolds") Unknown) (P_aux (P_id (Id_aux (Id "_cond") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_vector_subrange (E_aux (E_id (Id_aux (Id "_cond") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const three) (Ne_const one)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "PSTATE_Z") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "PSTATE_C") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "PSTATE_N") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "PSTATE_V") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "PSTATE_C") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv126")); (T_arg_nexp (Ne_var "'nv125"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv126")); (T_arg_nexp (Ne_var "'nv125"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv126")); (T_arg_nexp (Ne_var "'nv125"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv126")); (T_arg_nexp (Ne_var "'nv125"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv126")); (T_arg_nexp (Ne_var "'nv125"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "PSTATE_Z") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv111")); (T_arg_nexp (Ne_var "'nv110"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv111")); (T_arg_nexp (Ne_var "'nv110"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv111")); (T_arg_nexp (Ne_var "'nv110"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv111")); (T_arg_nexp (Ne_var "'nv110"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv111")); (T_arg_nexp (Ne_var "'nv110"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "PSTATE_N") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_V") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "PSTATE_N") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_V") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "PSTATE_Z") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv180")); (T_arg_nexp (Ne_var "'nv179"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv180")); (T_arg_nexp (Ne_var "'nv179"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv180")); (T_arg_nexp (Ne_var "'nv179"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv180")); (T_arg_nexp (Ne_var "'nv179"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv180")); (T_arg_nexp (Ne_var "'nv179"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_case - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "_cond") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv238")); (T_arg_nexp (Ne_var "'nv237"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv238")); (T_arg_nexp (Ne_var "'nv237"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv238")); (T_arg_nexp (Ne_var "'nv237"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv238")); (T_arg_nexp (Ne_var "'nv237"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv238")); (T_arg_nexp (Ne_var "'nv237"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "_cond") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv218")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv220")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))));(E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "ELUsingAArch32") Unknown) (P_aux (P_id (Id_aux (Id "el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "EventRegisterSet") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "not_implemented_extern") Unknown) [(E_aux (E_lit (L_aux (L_string "EventRegisterSet") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "EventRegistered") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "not_implemented_extern") Unknown) [(E_aux (E_lit (L_aux (L_string "EventRegistered") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "HaveAArch32EL") Unknown) (P_aux (P_id (Id_aux (Id "el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app (Id_aux (Id "~") Unknown) [ - (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app (Id_aux (Id "~") Unknown) [ - (E_aux (E_app (Id_aux (Id "HaveAnyAArch32") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app (Id_aux (Id "HighestELUsingAArch32") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv6")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_field (E_aux (E_id (Id_aux (Id "IMPLEMENTATION_DEFINED") Unknown)) (Unknown, (Just ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "HaveAArch32EL") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "HaveAnyAArch32") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_field (E_aux (E_id (Id_aux (Id "IMPLEMENTATION_DEFINED") Unknown)) (Unknown, (Just ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "HaveAnyAArch32") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "HaveEL") Unknown) (P_aux (P_id (Id_aux (Id "el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv8")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv10")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv14")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv16")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_field (E_aux (E_id (Id_aux (Id "IMPLEMENTATION_DEFINED") Unknown)) (Unknown, (Just ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "HaveEL2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_field (E_aux (E_id (Id_aux (Id "IMPLEMENTATION_DEFINED") Unknown)) (Unknown, (Just ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "HaveEL3") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "HighestELUsingAArch32") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app (Id_aux (Id "~") Unknown) [ - (E_aux (E_app (Id_aux (Id "HaveAnyAArch32") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_field (E_aux (E_id (Id_aux (Id "IMPLEMENTATION_DEFINED") Unknown)) (Unknown, (Just ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "HighestELUsingAArch32") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "Hint_Yield") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_extern_no_rename (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "InstructionSynchronizationBarrier") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "InterruptPending") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "not_implemented_extern") Unknown) [(E_aux (E_lit (L_aux (L_string "InterruptPending") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "IsSecure") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "~") Unknown) [ - (E_aux (E_app (Id_aux (Id "UsingAArch32") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv21")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "UsingAArch32") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "PSTATE_M") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "PSTATE_M")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "M32_Monitor") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "IsSecureBelowEL3") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "IsSecureBelowEL3") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_field - (E_aux (E_app (Id_aux (Id "SCR_GEN") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "SCRType") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "NS") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv14")); (T_arg_nexp (Ne_var "'nv13"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv14")); (T_arg_nexp (Ne_var "'nv13"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv14")); (T_arg_nexp (Ne_var "'nv13"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv14")); (T_arg_nexp (Ne_var "'nv13"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv14")); (T_arg_nexp (Ne_var "'nv13"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "EL2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_field (E_aux (E_id (Id_aux (Id "IMPLEMENTATION_DEFINED") Unknown)) (Unknown, (Just ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "IsSecureBelowEL3") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "SCRType") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "SCR_GEN") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "HighestELUsingAArch32") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "SCR") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SCRType") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "SCR_EL3") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SCRType") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "SCRType") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_abbrev (T_id "SCRType") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "SCRType") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "SCRType") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "SendEvent") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "Unreachable") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_lit (L_aux (L_string "Unreachable reached") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_id "string"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "UsingAArch32") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "WaitForEvent") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "not_implemented_extern") Unknown) [(E_aux (E_lit (L_aux (L_string "WaitForEvent") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "WaitForInterrupt") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "not_implemented_extern") Unknown) [(E_aux (E_lit (L_aux (L_string "WaitForInterrupt") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "PAMax") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "pa_size") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_field (E_aux (E_id (Id_aux (Id "ID_AA64MMFR0_EL1") Unknown)) (Unknown, (Just ((T_abbrev (T_id "ID_AA64MMFR0_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "PARange") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "pa_size") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "pa_size") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num 36) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const 36))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "pa_size") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num forty) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const forty))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "pa_size") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num 42) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const 42))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "pa_size") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num 44) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const 44))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "pa_size") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num fortyeight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const fortyeight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "Unreachable") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))));(E_aux (E_id (Id_aux (Id "pa_size") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "S1TranslationRegime") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv0")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "!=") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "IsSecure") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app (Id_aux (Id "ELUsingAArch32") Unknown) [(E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_Abort") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "vaddress") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "fault") Unknown)) (Unknown, (Just ((T_id "FaultRecord"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "FaultRecord")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "AArch64_Abort") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "FaultRecord")]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_SPAlignmentFault") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "AArch64_SPAlignmentFault") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_SoftwareBreakpoint") Unknown) (P_aux (P_id (Id_aux (Id "immediate") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "AArch64_SoftwareBreakpoint") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_TakeReset") Unknown) (P_aux (P_id (Id_aux (Id "cold_reset") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_app (Id_aux (Id "~") Unknown) [ - (E_aux (E_app (Id_aux (Id "HighestELUsingAArch32") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_nRW") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "PSTATE_nRW")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "PSTATE_nRW")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "CurrentEL")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_field (LEXP_aux (LEXP_id (Id_aux (Id "SCR_EL3") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SCRType") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "NS") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "EL2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "EL2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "CurrentEL")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "CurrentEL")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "AArch64_ResetControlRegisters") Unknown) [(E_aux (E_id (Id_aux (Id "cold_reset") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_SP") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "SPSel")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wPSTATE_DAIF") Unknown) [(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_SS") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_var "'nv2"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_IL") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "AArch64_ResetGeneralRegisters") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "AArch64_ResetSIMDFPRegisters") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "AArch64_ResetSpecialRegisters") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "ResetExternalDebugRegisters") Unknown) [(E_aux (E_id (Id_aux (Id "cold_reset") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "rv") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "rv") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "RVBAR_EL3") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "RVBAR_EL3")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "EL2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "rv") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "RVBAR_EL2") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "RVBAR_EL2")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "rv") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "RVBAR_EL1") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "RVBAR_EL1")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assert (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "IsZero") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "rv") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num sixtythree) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtythree))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "PAMax") Unknown) []) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv26"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv26")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app (Id_aux (Id "IsZero") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "rv") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv21")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv24")); (T_arg_nexp (Ne_var "'nv23")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv20"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv20")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_lit (L_aux (L_string "reset vector not correctly aligned") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_id "string"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "BranchTo") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "rv") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "BranchType_UNKNOWN") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_abbrev (T_id "boolean") (T_id "bit")) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_CallHypervisor") Unknown) (P_aux (P_id (Id_aux (Id "immediate") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "AArch64_CallHypervisor") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_CallSecureMonitor") Unknown) (P_aux (P_id (Id_aux (Id "immediate") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "AArch64_CallSecureMonitor") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_CallSupervisor") Unknown) (P_aux (P_id (Id_aux (Id "immediate") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "AArch64_CallSupervisor") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_CheckForSMCTrap") Unknown) (P_aux (P_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "route_to_el2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "EL2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "~") Unknown) [ - (E_aux (E_app (Id_aux (Id "IsSecure") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_app_infix - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv249")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv251")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv246")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv248")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_field (E_aux (E_id (Id_aux (Id "HCR_EL2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "HCR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "TSC") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv237")); (T_arg_nexp (Ne_var "'nv236"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv237")); (T_arg_nexp (Ne_var "'nv236"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv237")); (T_arg_nexp (Ne_var "'nv236"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv237")); (T_arg_nexp (Ne_var "'nv236"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv237")); (T_arg_nexp (Ne_var "'nv236"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "route_to_el2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "AArch64_CheckForSMCTrap route_to_el2") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_CheckForWFxTrap") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "target_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "is_wfe") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_id "boolean") (T_id "bit"))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "target_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "trap") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "target_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv0")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "trap") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_if (E_aux (E_id (Id_aux (Id "is_wfe") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_field (E_aux (E_id (Id_aux (Id "SCTLR_EL1") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SCTLR_EL1_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "nTWE") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_case (E_aux (E_field (E_aux (E_id (Id_aux (Id "SCTLR_EL1") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SCTLR_EL1_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "nTWI") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "target_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv18")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv20")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "trap") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_if (E_aux (E_id (Id_aux (Id "is_wfe") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_field (E_aux (E_id (Id_aux (Id "HCR_EL2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "HCR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "TWE") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_case (E_aux (E_field (E_aux (E_id (Id_aux (Id "HCR_EL2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "HCR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "TWI") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "target_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "trap") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_if (E_aux (E_id (Id_aux (Id "is_wfe") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_field (E_aux (E_id (Id_aux (Id "SCR_EL3") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SCRType") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "TWE") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_case (E_aux (E_field (E_aux (E_id (Id_aux (Id "SCR_EL3") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SCRType") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "TWI") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "trap") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_WFxTrap") Unknown) [(E_aux (E_id (Id_aux (Id "target_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "is_wfe") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_id "boolean") (T_id "bit"))]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_SystemRegisterTrap") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "target_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "crn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "crm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "dir") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "AArch64_SystemRegisterTrap") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_UndefinedFault") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "AArch64_UndefinedFault") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_WFxTrap") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "target_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "is_wfe") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_id "boolean") (T_id "bit"))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "AArch64_WFxTrap") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_id "boolean") (T_id "bit"))]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "FaultRecord") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_CreateFaultRecord") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "type") Unknown)) (Unknown, (Just ((T_id "Fault"), (Tag_enum 19), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "ipaddress") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "level") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 12), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "write") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "extflag") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "secondstage") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "s2fs1walk") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "Fault"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_id "AccType"); (T_abbrev (T_id "boolean") (T_id "bit")); (T_id "bit"); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_id "boolean") (T_id "bit"))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "FaultRecord") Unknown)) Unknown) (Id_aux (Id "fault") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "FaultRecord"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_record (FES_aux (FES_Fexps [(FE_aux (FE_Fexp (Id_aux (Id "type") Unknown) (E_aux (E_id (Id_aux (Id "type") Unknown)) (Unknown, (Just ((T_id "Fault"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "Fault"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "domain") Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num four) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const four))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "debugmoe") Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num four) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const four))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "ipaddress") Unknown) (E_aux (E_id (Id_aux (Id "ipaddress") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "level") Unknown) (E_aux (E_id (Id_aux (Id "level") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "acctype") Unknown) (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "AccType"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "write") Unknown) (E_aux (E_id (Id_aux (Id "write") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "extflag") Unknown) (E_aux (E_id (Id_aux (Id "extflag") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "secondstage") Unknown) (E_aux (E_id (Id_aux (Id "secondstage") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "s2fs1walk") Unknown) (E_aux (E_id (Id_aux (Id "s2fs1walk") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] false) (Unknown,Nothing))) (Unknown, (Just ((T_id "FaultRecord"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "fault") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "FaultRecord"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "FaultRecord"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "FaultRecord"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "Fault"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_id "AccType"); (T_abbrev (T_id "boolean") (T_id "bit")); (T_id "bit"); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_id "boolean") (T_id "bit"))]) (T_id "FaultRecord") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_ExclusiveMonitorsPass") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "AccType") Unknown)) Unknown) (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AccType"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "AccType_ATOMIC") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "aligned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "Align") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "aligned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "secondstage") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "AArch64_Abort") Unknown) [(E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "AArch64_AlignmentFault") Unknown) [ - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AccType"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "secondstage") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "FaultRecord"), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "passed") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_IsExclusiveVA") Unknown) [ - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "ProcessorID") Unknown) []) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "passed") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "AddressDescriptor") Unknown)) Unknown) (Id_aux (Id "memaddrdesc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_TranslateAddress") Unknown) [ - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AccType"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "aligned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "AddressDescriptor"), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "IsFault") Unknown) [(E_aux (E_id (Id_aux (Id "memaddrdesc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_Abort") Unknown) [(E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_field (E_aux (E_id (Id_aux (Id "memaddrdesc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "fault") Unknown)) (Unknown, (Just ((T_id "FaultRecord"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "passed") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "IsExclusiveLocal") Unknown) [ - (E_aux (E_field (E_aux (E_id (Id_aux (Id "memaddrdesc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "paddress") Unknown)) (Unknown, (Just ((T_id "FullAddress"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "ProcessorID") Unknown) []) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "passed") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "ClearExclusiveLocal") Unknown) [ - (E_aux (E_app (Id_aux (Id "ProcessorID") Unknown) []) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_field (E_aux (E_field (E_aux (E_id (Id_aux (Id "memaddrdesc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "memattrs") Unknown)) (Unknown, (Just ((T_id "MemoryAttributes"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "shareable") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "passed") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "IsExclusiveGlobal") Unknown) [ - (E_aux (E_field (E_aux (E_id (Id_aux (Id "memaddrdesc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "paddress") Unknown)) (Unknown, (Just ((T_id "FullAddress"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "ProcessorID") Unknown) []) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))));(E_aux (E_id (Id_aux (Id "passed") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_IsExclusiveVA") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "processorid") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "info") Unknown) [(E_aux (E_lit (L_aux (L_string "The model does not implement the exclusive monitors explicitly.") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_MarkExclusiveVA") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "processorid") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "info") Unknown) [(E_aux (E_lit (L_aux (L_string "The model does not implement the exclusive monitors explicitly.") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_id "unit") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_SetExclusiveMonitors") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "AccType") Unknown)) Unknown) (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AccType"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "AccType_ATOMIC") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "aligned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "Align") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "AddressDescriptor") Unknown)) Unknown) (Id_aux (Id "memaddrdesc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_TranslateAddress") Unknown) [ - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AccType"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "aligned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "AddressDescriptor"), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "IsFault") Unknown) [(E_aux (E_id (Id_aux (Id "memaddrdesc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_field (E_aux (E_field (E_aux (E_id (Id_aux (Id "memaddrdesc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "memattrs") Unknown)) (Unknown, (Just ((T_id "MemoryAttributes"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "shareable") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "MarkExclusiveGlobal") Unknown) [ - (E_aux (E_field (E_aux (E_id (Id_aux (Id "memaddrdesc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "paddress") Unknown)) (Unknown, (Just ((T_id "FullAddress"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "ProcessorID") Unknown) []) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "MarkExclusiveLocal") Unknown) [ - (E_aux (E_field (E_aux (E_id (Id_aux (Id "memaddrdesc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "paddress") Unknown)) (Unknown, (Just ((T_id "FullAddress"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "ProcessorID") Unknown) []) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "AArch64_MarkExclusiveVA") Unknown) [ - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "ProcessorID") Unknown) []) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_id "unit") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_CheckAlignment") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 12), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_id "AccType"); (T_abbrev (T_id "boolean") (T_id "bit"))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "aligned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "Align") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown) (Id_aux (Id "A") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_field (E_aux (E_app (Id_aux (Id "SCTLR'") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "SCTLR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "A") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "aligned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "AccType_ATOMIC") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "AccType_ORDERED") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "A") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv250")); (T_arg_nexp (Ne_var "'nv249"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv250")); (T_arg_nexp (Ne_var "'nv249"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv250")); (T_arg_nexp (Ne_var "'nv249"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv250")); (T_arg_nexp (Ne_var "'nv249"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv250")); (T_arg_nexp (Ne_var "'nv249"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "secondstage") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "bool") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "AArch64_Abort") Unknown) [(E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "AArch64_AlignmentFault") Unknown) [ - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "secondstage") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "bool") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "FaultRecord"), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))));(E_aux (E_id (Id_aux (Id "aligned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_id "AccType"); (T_abbrev (T_id "boolean") (T_id "bit"))]) (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "read_buffer_type") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_rMemSingle") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 12), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "wasaligned") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "read_buffer_type"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType"); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_id "bool") (T_id "bit"))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_var "'nv3")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "Align") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv5")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv5")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight)))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "AddressDescriptor") Unknown)) Unknown) (Id_aux (Id "memaddrdesc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_TranslateAddress") Unknown) [ - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "wasaligned") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "AddressDescriptor"), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "IsFault") Unknown) [(E_aux (E_id (Id_aux (Id "memaddrdesc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_Abort") Unknown) [(E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_field (E_aux (E_id (Id_aux (Id "memaddrdesc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "fault") Unknown)) (Unknown, (Just ((T_id "FaultRecord"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "_rMem") Unknown) [(E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "memaddrdesc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "read_buffer_type"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType"); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_id "bool") (T_id "bit"))]) (T_id "read_buffer_type") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "write_buffer_type") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_wMemSingle") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 12), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "wasaligned") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "write_buffer_type"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType"); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_id "bool") (T_id "bit")); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_var "'nv3")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "Align") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv5")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv5")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "AddressDescriptor") Unknown)) Unknown) (Id_aux (Id "memaddrdesc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_TranslateAddress") Unknown) [ - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "wasaligned") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "AddressDescriptor"), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "IsFault") Unknown) [(E_aux (E_id (Id_aux (Id "memaddrdesc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_Abort") Unknown) [(E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_field (E_aux (E_id (Id_aux (Id "memaddrdesc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "fault") Unknown)) (Unknown, (Just ((T_id "FaultRecord"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_field (E_aux (E_field (E_aux (E_id (Id_aux (Id "memaddrdesc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "memattrs") Unknown)) (Unknown, (Just ((T_id "MemoryAttributes"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "shareable") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ClearExclusiveByAddress") Unknown) [ - (E_aux (E_field (E_aux (E_id (Id_aux (Id "memaddrdesc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "paddress") Unknown)) (Unknown, (Just ((T_id "FullAddress"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "ProcessorID") Unknown) []) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "_wMem") Unknown) [(E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "memaddrdesc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv6") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv6") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "write_buffer_type"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType"); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_id "bool") (T_id "bit")); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (T_id "write_buffer_type") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "CheckSPAlignment") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "sp") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rSP") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bool") Unknown)) Unknown) (Id_aux (Id "stack_align_check") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "bool") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "stack_align_check") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "bool") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_field (E_aux (E_id (Id_aux (Id "SCTLR_EL1") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SCTLR_EL1_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "SA0") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv18")); (T_arg_nexp (Ne_var "'nv17"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv18")); (T_arg_nexp (Ne_var "'nv17"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv18")); (T_arg_nexp (Ne_var "'nv17"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv18")); (T_arg_nexp (Ne_var "'nv17"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv18")); (T_arg_nexp (Ne_var "'nv17"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "stack_align_check") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "bool") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_field (E_aux (E_app (Id_aux (Id "SCTLR'") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "SCTLR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "SA") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv33")); (T_arg_nexp (Ne_var "'nv32"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv33")); (T_arg_nexp (Ne_var "'nv32"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv33")); (T_arg_nexp (Ne_var "'nv32"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv33")); (T_arg_nexp (Ne_var "'nv32"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv33")); (T_arg_nexp (Ne_var "'nv32"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "stack_align_check") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "bool") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "sp") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv42")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "Align") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "sp") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num sixteen) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixteen))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv44")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_SPAlignmentFault") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "read_buffer_type") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "rMem'") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 12), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "read_buffer_type"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType"); (T_abbrev (T_id "bool") (T_id "bit"))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "read_buffer_type") Unknown)) Unknown) (Id_aux (Id "read_buffer'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "read_buffer_type"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "i") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "aligned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_CheckAlignment") Unknown) [ - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "atomic") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "aligned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app (Id_aux (Id "~") Unknown) [ - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "AccType_VEC") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "AccType_VECSTREAM") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "atomic") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assert (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id ">") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "gt")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "read_buffer'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "read_buffer_type"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_rMemSingle") Unknown) [ - (E_aux (E_id (Id_aux (Id "read_buffer'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "read_buffer_type"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "aligned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_for (Id_aux (Id "i") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv249") (Ne_var "'nv250")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Ord_aux Ord_inc Unknown) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "read_buffer'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "read_buffer_type"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_rMemSingle") Unknown) [ - (E_aux (E_id (Id_aux (Id "read_buffer'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "read_buffer_type"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv285")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_id (Id_aux (Id "i") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_var "'nv243"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv285")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "aligned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown))))) ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "read_buffer'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "read_buffer_type"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_rMemSingle") Unknown) [ - (E_aux (E_id (Id_aux (Id "read_buffer'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "read_buffer_type"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "aligned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))));(E_aux (E_id (Id_aux (Id "read_buffer'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "read_buffer_type"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "read_buffer_type"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "read_buffer_type"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType"); (T_abbrev (T_id "bool") (T_id "bit"))]) (T_id "read_buffer_type") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "read_buffer_type") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "rMem") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 12), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "read_buffer_type"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rMem'") Unknown) [(E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "read_buffer_type"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType")]) (T_id "read_buffer_type") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "read_buffer_type") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "rMem_exclusive") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 12), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "read_buffer_type"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rMem'") Unknown) [(E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "read_buffer_type"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType")]) (T_id "read_buffer_type") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "write_buffer_type") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "wMem'") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 12), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "write_buffer_type"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType"); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_id "bool") (T_id "bit"))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "write_buffer_type") Unknown)) Unknown) (Id_aux (Id "write_buffer'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "write_buffer_type"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant eight) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "value'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "i") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "BigEndian") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "value'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "BigEndianReverse") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "aligned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_CheckAlignment") Unknown) [ - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "atomic") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "aligned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app (Id_aux (Id "~") Unknown) [ - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "AccType_VEC") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "AccType_VECSTREAM") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bool") Unknown)) Unknown) (Id_aux (Id "exclusiveSuccess") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "bool") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "atomic") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id ">") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "gt")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "write_buffer'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "write_buffer_type"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_wMemSingle") Unknown) [ - (E_aux (E_id (Id_aux (Id "write_buffer'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "write_buffer_type"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "aligned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num seven) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const seven))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_mult (Ne_var "'nv242") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv242") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv242") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_for (Id_aux (Id "i") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv255") (Ne_var "'nv256")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Ord_aux Ord_inc Unknown) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "write_buffer'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "write_buffer_type"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_wMemSingle") Unknown) [ - (E_aux (E_id (Id_aux (Id "write_buffer'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "write_buffer_type"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv376")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_id (Id_aux (Id "i") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_var "'nv249"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv376")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "aligned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_id (Id_aux (Id "i") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_var "'nv249"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv337") (Ne_var "'nv338")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_lit (L_aux (L_num seven) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const seven))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv307"); (Ne_var "'nv308")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_id (Id_aux (Id "i") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_var "'nv249"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv353") (Ne_var "'nv354")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv285")); (T_arg_nexp (Ne_mult (Ne_var "'nv281") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv281") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv281") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown))))) ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "write_buffer'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "write_buffer_type"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_wMemSingle") Unknown) [ - (E_aux (E_id (Id_aux (Id "write_buffer'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "write_buffer_type"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "aligned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "exclusive") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv395") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv395") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))));(E_aux (E_id (Id_aux (Id "write_buffer'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "write_buffer_type"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "write_buffer_type"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "write_buffer_type"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType"); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_id "bool") (T_id "bit"))]) (T_id "write_buffer_type") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "write_buffer_type") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "wMem") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 12), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "write_buffer_type"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType"); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem'") Unknown) [(E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv1") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv1") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "write_buffer_type"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType"); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (T_id "write_buffer_type") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [1; 2; 4; 8; 16]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "write_buffer_type") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "wMem_exclusive") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 12), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "write_buffer_type"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType"); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem'") Unknown) [(E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv1") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv1") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "write_buffer_type"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])); (T_id "AccType"); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'N") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'N") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (T_id "write_buffer_type") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_ResetGeneralRegisters") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_for (Id_aux (Id "i") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num thirty) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirty))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Ord_aux Ord_inc Unknown) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "i") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirty))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_ResetSIMDFPRegisters") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_for (Id_aux (Id "i") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Ord_aux Ord_inc Unknown) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wV") Unknown) [(E_aux (E_id (Id_aux (Id "i") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num onetwentyeight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const onetwentyeight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const onetwentyeight); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_ResetSpecialRegisters") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "SP_EL0") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "SP_EL0")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "SP_EL0")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "SP_EL1") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "SP_EL1")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "SP_EL1")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "SPSR_EL1") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SPSR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "SPSR_EL1")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "SPSR_EL1")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "ELR_EL1") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "ELR_EL1")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "ELR_EL1")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "EL2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "SP_EL2") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "SP_EL2")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "SP_EL2")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "SPSR_EL2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SPSR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "SPSR_EL2")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "SPSR_EL2")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "ELR_EL2") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "ELR_EL2")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "ELR_EL2")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "ELR_EL2")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "SP_EL3") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "SP_EL3")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "SP_EL3")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "SPSR_EL3") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SPSR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "SPSR_EL3")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "SPSR_EL3")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "ELR_EL3") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "ELR_EL3")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "ELR_EL3")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "ELR_EL3")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "HaveAArch32EL") Unknown) [(E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "SPSR_fiq") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "SPSR_irq") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "SPSR_abt") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "SPSR_und") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "DLR_EL0") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "DSPSR_EL0") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "rPC") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "_PC") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "_PC")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "wSP") Unknown) (P_aux (P_tup [(P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "unit"); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "PSTATE_SP") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_var "'nv14"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_var "'nv14"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_var "'nv14"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_var "'nv14"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_var "'nv14"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "SP_EL0") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "SP_EL0")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "SP_EL0")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "pstate_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "pstate_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv18")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv20")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "SP_EL0") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "SP_EL0")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "SP_EL0")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "pstate_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv25")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "SP_EL1") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "SP_EL1")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "SP_EL1")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "pstate_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "SP_EL2") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "SP_EL2")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "SP_EL2")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "pstate_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv33")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "SP_EL3") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "SP_EL3")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "SP_EL3")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_assert (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))));(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "unit"); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "rSP") Unknown) (P_aux (P_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "PSTATE_SP") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_var "'nv14"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_var "'nv14"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_var "'nv14"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_var "'nv14"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_var "'nv14"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "mask") Unknown) [ - (E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "SP_EL0") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "SP_EL0")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "mask")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "pstate_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "pstate_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv20")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "mask") Unknown) [ - (E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "SP_EL0") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "SP_EL0")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv26")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "mask")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "pstate_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv27")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv29")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "mask") Unknown) [ - (E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "SP_EL1") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "SP_EL1")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv33")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "mask")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "pstate_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "mask") Unknown) [ - (E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "SP_EL2") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "SP_EL2")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "mask")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "pstate_el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv41")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "mask") Unknown) [ - (E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "SP_EL3") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "SP_EL3")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "mask")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "mask") Unknown) [ - (E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "SP_EL3") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "SP_EL3")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv51")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "mask")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [8; 16; 32; 64; 128]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "wV") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_vector - (LEXP_aux (LEXP_id (Id_aux (Id "_V") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_const 33)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [ - (E_aux (E_lit (L_aux (L_num onetwentyeight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const onetwentyeight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const onetwentyeight); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [8; 16; 32; 64; 128]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "rV") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "mask") Unknown) [(E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_cast (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "_V") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_const 33)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "mask")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [8; 16; 32; 64; 128]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "rVpart") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_tup [(T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))); (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "part") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))); (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "part") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "mask") Unknown) [ - (E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_cast (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "_V") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_const 33)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv14")); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "mask")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_app_infix - (E_aux (E_app (Id_aux (Id "length") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv39")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv39"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_vector_subrange (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "_V") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_const 33)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num onetwentyseven) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const onetwentyseven))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))); (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one))]))]) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [8; 16; 32; 64; 128]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "wVpart") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "part") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))); (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "part") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_vector - (LEXP_aux (LEXP_id (Id_aux (Id "_V") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_const 33)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [ - (E_aux (E_lit (L_aux (L_num onetwentyeight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const onetwentyeight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const onetwentyeight); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_app_infix - (E_aux (E_app (Id_aux (Id "length") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)]))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)]))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv35")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv35"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_vector_range - (LEXP_aux (LEXP_vector - (LEXP_aux (LEXP_id (Id_aux (Id "_V") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_const 33)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num onetwentyseven) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const onetwentyseven))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_minus (Nexp_aux (Nexp_constant onetwentyseven) Unknown) (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown) (Nexp_aux (Nexp_constant one) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_abbrev (T_id "SIMD_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))); (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "wX") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_vector - (LEXP_aux (LEXP_id (Id_aux (Id "_R") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "rX") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "mask") Unknown) [ - (E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_cast (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "_R") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv14")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "mask")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "Zeros") Unknown) [(E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "rELR") Unknown) (P_aux (P_id (Id_aux (Id "el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "r") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv0")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "r") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "ELR_EL1") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "ELR_EL1")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "r") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "ELR_EL2") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "ELR_EL2")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "el") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv6")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv8")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "r") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "ELR_EL3") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "ELR_EL3")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "Unreachable") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))));(E_aux (E_id (Id_aux (Id "r") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "rELR'") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv0")); (T_arg_nexp (Ne_var "'nv1")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "!=") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_var "'nv1")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "rELR") Unknown) [(E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "SCTLR_type") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "SCTLR") Unknown) (P_aux (P_id (Id_aux (Id "regime") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "regime") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv0")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "SCTLR_EL1") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SCTLR_EL1_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "regime") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "SCTLR_EL2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SCTLR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "regime") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv6")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv8")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "SCTLR_EL3") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SCTLR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_lit (L_aux (L_string "SCTLR_type unreachable") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_id "string"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "SCTLR_EL1") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SCTLR_EL1_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_abbrev (T_id "SCTLR_EL1_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "SCTLR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "SCTLR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "SCTLR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_abbrev (T_id "SCTLR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "SCTLR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_abbrev (T_id "SCTLR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "SCTLR_type") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "SCTLR'") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "SCTLR") Unknown) [(E_aux (E_app (Id_aux (Id "S1TranslationRegime") Unknown) []) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "SCTLR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "SCTLR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_abbrev (T_id "SCTLR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_CheckUnallocatedSystemAccess") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "op0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "crn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "crm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "read") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_case (E_aux (E_tuple [(E_aux (E_id (Id_aux (Id "op0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "op1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "crn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "crm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "op2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "read") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "<") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "lt_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]) (T_abbrev (T_id "boolean") (T_id "bit")) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "CheckSystemAccess") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "op0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "crn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "crm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "read") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "unallocated") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "need_secure") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "min_EL") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "op1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "min_EL") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "min_EL") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "min_EL") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "EL0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "min_EL") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "EL2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "min_EL") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "min_EL") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "need_secure") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "<") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "min_EL") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv8")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "lt_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "need_secure") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_app (Id_aux (Id "IsSecure") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app (Id_aux (Id "AArch64_CheckUnallocatedSystemAccess") Unknown) [ - (E_aux (E_id (Id_aux (Id "op0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "op1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "crn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "crm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "op2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "read") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "bit")]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "SysOp_R") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "op0") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op1") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "crn") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "crm") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op2") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "SysOp_R") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "SysOp_W") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "op0") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op1") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "crn") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "crm") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op2") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "_val") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "SysOp_W") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "System_Get") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "op0") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op1") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "crn") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "crm") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op2") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_case (E_aux (E_tuple [(E_aux (E_id (Id_aux (Id "op0") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "op1") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "crn") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "crm") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "op2") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num four) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const four))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const four))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "NZCV") Unknown)) (Unknown, (Just ((T_abbrev (T_id "NZCV_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "NZCV")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num four) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const four))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const four))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const one))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "DAIF") Unknown)) (Unknown, (Just ((T_abbrev (T_id "DAIF_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num 13) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const 13))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const 13))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const two))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "TPIDR_EL0") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "TPIDR_EL0")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "System_Put") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "op0") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op1") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "crn") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "crm") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op2") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "_val") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_case (E_aux (E_tuple [(E_aux (E_id (Id_aux (Id "op0") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "op1") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "crn") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "crm") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "op2") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num four) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const four))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const four))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "NZCV") Unknown)) (Unknown, (Just ((T_abbrev (T_id "NZCV_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "NZCV")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector_subrange (E_aux (E_id (Id_aux (Id "_val") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "NZCV")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num four) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const four))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const four))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const one))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "DAIF") Unknown)) (Unknown, (Just ((T_abbrev (T_id "DAIF_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector_subrange (E_aux (E_id (Id_aux (Id "_val") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num 13) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const 13))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const 13))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])); (T_app "atom" (T_args [(T_arg_nexp (Ne_const two))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "TPIDR_EL0") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "TPIDR_EL0")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector_subrange (E_aux (E_id (Id_aux (Id "_val") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num sixtythree) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtythree))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "TPIDR_EL0")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_ExceptionReturn") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "new_pc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "spsr") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "AArch64_ExceptionReturn") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "ExtendType") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "DecodeRegExtend") Unknown) (P_aux (P_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_case (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "ExtendType_UXTB") Unknown)) (Unknown, (Just ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "ExtendType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "ExtendType_UXTH") Unknown)) (Unknown, (Just ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "ExtendType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "ExtendType_UXTW") Unknown)) (Unknown, (Just ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "ExtendType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "ExtendType_UXTX") Unknown)) (Unknown, (Just ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "ExtendType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "ExtendType_SXTB") Unknown)) (Unknown, (Just ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "ExtendType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "ExtendType_SXTH") Unknown)) (Unknown, (Just ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "ExtendType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "ExtendType_SXTW") Unknown)) (Unknown, (Just ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "ExtendType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "ExtendType_SXTX") Unknown)) (Unknown, (Just ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "ExtendType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "ExtendType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "ExtendType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "ExtendType"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_id "ExtendType") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'S") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'N") Unknown) [8; 16; 32; 64]) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_bounded_ge (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown) (Nexp_aux (Nexp_constant zero) Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_bounded_le (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown) (Nexp_aux (Nexp_constant four) Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "implicit") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "ExtendType") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'S") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "ExtendReg") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))); (T_id "ExtendType"); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))]))]) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "ExtendReg") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_tup [(T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))); (T_id "ExtendType"); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "_reg") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "type") Unknown)) (Unknown, (Just ((T_id "ExtendType"), (Tag_enum eight), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))); (T_id "ExtendType"); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "_val") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "_reg") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "len") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "type") Unknown)) (Unknown, (Just ((T_id "ExtendType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "ExtendType_SXTB") Unknown) []) (Unknown, (Just ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "len") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "ExtendType_SXTH") Unknown) []) (Unknown, (Just ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "len") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num sixteen) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixteen))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "ExtendType_SXTW") Unknown) []) (Unknown, (Just ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "len") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "ExtendType_SXTX") Unknown) []) (Unknown, (Just ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "len") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "ExtendType_UXTB") Unknown) []) (Unknown, (Just ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "len") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "ExtendType_UXTH") Unknown) []) (Unknown, (Just ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "len") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num sixteen) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixteen))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "ExtendType_UXTW") Unknown) []) (Unknown, (Just ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "len") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "ExtendType_UXTX") Unknown) []) (Unknown, (Just ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "len") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "len") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "uMin") Unknown) [(E_aux (E_id (Id_aux (Id "len") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "length") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "_val") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv9") (Ne_var "'nv10")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "Extend") Unknown) [(E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "_val") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "_val") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "len") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv50") (Ne_var "'nv51")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv46")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv46") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv46") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "Zeros") Unknown) [(E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'S")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'S")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'S")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv46") (Ne_const zero)); (Ne_const one)]); (Ne_var "'S")]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv46") (Ne_const zero)); (Ne_const one)]); (Ne_var "'S")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv38"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv38")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))); (T_id "ExtendType"); (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'S"))]))]) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'E") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "implicit") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant five) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant six) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant five) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant six) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "DecodeBitMasks") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_id "bit"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_id "boolean") (T_id "bit"))]) (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'E") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'E") Unknown) [2; 4; 8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'M") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "DecodeBitMasks") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "'M") Unknown)) (Unknown, (Just ((T_tup [(T_id "bit"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_id "boolean") (T_id "bit"))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "immN") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imms") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "immr") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "immediate") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "bit"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_id "boolean") (T_id "bit"))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "M") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "length") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_id (Id_aux (Id "'M") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'M"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'M"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant five) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant six) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "levels") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num six) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const six))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "range") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant zero) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant six) Unknown)) Unknown)]) Unknown) (Id_aux (Id "len") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const six))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_app (Id_aux (Id "HighestSetBit") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_id (Id_aux (Id "immN") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv8")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "NOT") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imms") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const six); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const six); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv10")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const one); (Ne_const six)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_const six)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv6"); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'nv6"); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv6"); (Ne_const (zero - 1))]))])))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv6"); (Ne_const (zero - 1))]))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_lit (L_aux (L_string "DecodeBitMasks: HighestSetBit returned None") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_id "string"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "Some") Unknown) [(P_aux (P_id (Id_aux (Id "c") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv6"); (Ne_const (zero - 1))]))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv6"); (Ne_const (zero - 1))]))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "c") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv6"); (Ne_const (zero - 1))]))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv6"); (Ne_const (zero - 1))]))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv6"); (Ne_const (zero - 1))]))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "len") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const six))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "<") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "lt")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ReservedValue") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assert (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "M") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id ">=") Unknown) - (E_aux (E_app (Id_aux (Id "lsl") Unknown) [ - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "len") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const six))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv24") (Ne_exp (Ne_var "'nv25"))))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "gteq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "levels") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [ - (E_aux (E_lit (L_aux (L_num six) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const six))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "^^") Unknown) (E_aux (E_id (Id_aux (Id "len") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const six))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_mult (Ne_const one) (Ne_var "'nv32"))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "duplicate_bits")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv32"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv32")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const six); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "immediate") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imms") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "levels") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_and")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv46")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "levels") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv48")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ReservedValue") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant five) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant six) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "S") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant five) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant six) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imms") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv51")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "levels") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv51")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv51")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_and")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant five) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant six) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "R") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant five) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant six) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "immr") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "levels") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_and")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant five) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant six) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "diff") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant five) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant six) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "S") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv58")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "R") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv59")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv58")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "minus_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'E") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "esize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'E"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "lsl") Unknown) [ - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "len") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const six))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv81") (Ne_exp (Ne_var "'nv82"))))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant five) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant six) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant five) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant six) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_vector_subrange (E_aux (E_id (Id_aux (Id "diff") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "len") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const six))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv90") (Ne_var "'nv91")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'E") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'E") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "welem") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [ - (E_aux (E_id (Id_aux (Id "esize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'E"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv154")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "^^") Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "S") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv172")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv174")); (T_arg_nexp (Ne_add [(Ne_var "'nv174"); (Ne_exp (Ne_const six))]))])), (Tag_extern (Just "add_vec_range_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv154")); (T_arg_nexp (Ne_mult (Ne_const one) (Ne_var "'nv152"))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "duplicate_bits")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv152"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv152")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'E") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'E") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "telem") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [ - (E_aux (E_id (Id_aux (Id "esize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'E"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv223")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "^^") Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv241")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv243")); (T_arg_nexp (Ne_add [(Ne_var "'nv243"); (Ne_exp (Ne_const six))]))])), (Tag_extern (Just "add_vec_range_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv223")); (T_arg_nexp (Ne_mult (Ne_const one) (Ne_var "'nv221"))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "duplicate_bits")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv221"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv221")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "wmask") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "Replicate") Unknown) [ - (E_aux (E_id (Id_aux (Id "'M") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'M"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "ROR") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "welem") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "unsigned") Unknown) [(E_aux (E_id (Id_aux (Id "R") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])), (Tag_extern (Just "unsigned")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "tmask") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "Replicate") Unknown) [ - (E_aux (E_id (Id_aux (Id "'M") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'M"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "telem") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_tuple [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "wmask") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "tmask") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "bit"); (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_id "boolean") (T_id "bit"))]) (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "ShiftType") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "DecodeShift") Unknown) (P_aux (P_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_app (Id_aux (Id "unsigned") Unknown) [(E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const four))])), (Tag_extern (Just "unsigned")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const four))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "ShiftType_LSL") Unknown)) (Unknown, (Just ((T_id "ShiftType"), (Tag_enum four), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "ShiftType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const four))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "ShiftType_LSR") Unknown)) (Unknown, (Just ((T_id "ShiftType"), (Tag_enum four), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "ShiftType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const four))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "ShiftType_ASR") Unknown)) (Unknown, (Just ((T_id "ShiftType"), (Tag_enum four), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "ShiftType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const four))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "ShiftType_ROR") Unknown)) (Unknown, (Just ((T_id "ShiftType"), (Tag_enum four), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "ShiftType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "ShiftType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "ShiftType"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_id "ShiftType") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "implicit") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "ShiftType") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "nat") Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "ShiftReg") Unknown)) - (Unknown, (Just ((T_fn (T_tup [(T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))); (T_id "ShiftType"); (T_abbrev (T_id "nat") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "ShiftReg") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_tup [(T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))); (T_id "ShiftType"); (T_abbrev (T_id "nat") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "_reg") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "type") Unknown)) (Unknown, (Just ((T_id "ShiftType"), (Tag_enum four), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "amount") Unknown)) (Unknown, (Just ((T_abbrev (T_id "nat") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))); (T_id "ShiftType"); (T_abbrev (T_id "nat") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'N") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_id (Id_aux (Id "'N") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'N"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "_reg") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "type") Unknown)) (Unknown, (Just ((T_id "ShiftType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "ShiftType_LSL") Unknown) []) (Unknown, (Just ((T_id "ShiftType"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "LSL") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "amount") Unknown)) (Unknown, (Just ((T_abbrev (T_id "nat") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "ShiftType_LSR") Unknown) []) (Unknown, (Just ((T_id "ShiftType"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "LSR") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "amount") Unknown)) (Unknown, (Just ((T_abbrev (T_id "nat") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "ShiftType_ASR") Unknown) []) (Unknown, (Just ((T_id "ShiftType"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "ASR") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "amount") Unknown)) (Unknown, (Just ((T_abbrev (T_id "nat") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "ShiftType_ROR") Unknown) []) (Unknown, (Just ((T_id "ShiftType"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "ROR") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "amount") Unknown)) (Unknown, (Just ((T_abbrev (T_id "nat") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))); (T_id "ShiftType"); (T_abbrev (T_id "nat") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "Prefetch") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "prfop") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "PrefetchHint") Unknown)) Unknown) (Id_aux (Id "hint") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "PrefetchHint"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "Prefetch_READ") Unknown)) (Unknown, (Just ((T_id "PrefetchHint"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "PrefetchHint"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "Prefetch_WRITE") Unknown)) (Unknown, (Just ((T_id "PrefetchHint"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "PrefetchHint"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "Prefetch_EXEC") Unknown)) (Unknown, (Just ((T_id "PrefetchHint"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "PrefetchHint"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "PrefetchHint"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "target") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "stream") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bool") Unknown)) Unknown) (Id_aux (Id "returnv") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "bool") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_vector_subrange (E_aux (E_id (Id_aux (Id "prfop") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num four) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const four))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const four) (Ne_const three)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "hint") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "PrefetchHint"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "Prefetch_READ") Unknown)) (Unknown, (Just ((T_id "PrefetchHint"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "hint") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "PrefetchHint"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "Prefetch_EXEC") Unknown)) (Unknown, (Just ((T_id "PrefetchHint"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "hint") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "PrefetchHint"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "Prefetch_WRITE") Unknown)) (Unknown, (Just ((T_id "PrefetchHint"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "returnv") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "bool") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "returnv") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "bool") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "target") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "unsigned") Unknown) [ - (E_aux (E_vector_subrange (E_aux (E_id (Id_aux (Id "prfop") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const two) (Ne_const one)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), (Tag_extern (Just "unsigned")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "stream") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "prfop") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv29")); (T_arg_nexp (Ne_var "'nv28"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv29")); (T_arg_nexp (Ne_var "'nv28"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv29")); (T_arg_nexp (Ne_var "'nv28"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv29")); (T_arg_nexp (Ne_var "'nv28"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv29")); (T_arg_nexp (Ne_var "'nv28"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Hint_Prefetch") Unknown) [(E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "hint") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "PrefetchHint"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "target") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "stream") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]) (T_id "unit") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "FaultRecord") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_AlignmentFault") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 12), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "secondstage") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_id "AccType"); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_id "boolean") (T_id "bit"))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant fortyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant fortyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "ipaddress") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num fortyeight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const fortyeight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "level") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown) (Id_aux (Id "extflag") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app (Id_aux (Id "is_one") Unknown) [(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "is_one")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "s2fs1walk") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app (Id_aux (Id "is_one") Unknown) [(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "is_one")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "AArch64_CreateFaultRecord") Unknown) [ - (E_aux (E_id (Id_aux (Id "Fault_Alignment") Unknown)) (Unknown, (Just ((T_id "Fault"), (Tag_enum 18), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "ipaddress") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "level") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "extflag") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "secondstage") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "s2fs1walk") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "FaultRecord"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "FaultRecord"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "FaultRecord"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_id "AccType"); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_id "boolean") (T_id "bit"))]) (T_id "FaultRecord") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "FaultRecord") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_NoFault") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant fortyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant fortyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "ipaddress") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num fortyeight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const fortyeight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "level") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "AccType") Unknown)) Unknown) (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AccType"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "AccType_NORMAL") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app (Id_aux (Id "is_one") Unknown) [(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "is_one")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown) (Id_aux (Id "extflag") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app (Id_aux (Id "is_one") Unknown) [(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "is_one")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "secondstage") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "s2fs1walk") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "AArch64_CreateFaultRecord") Unknown) [ - (E_aux (E_id (Id_aux (Id "Fault_None") Unknown)) (Unknown, (Just ((T_id "Fault"), (Tag_enum 18), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "ipaddress") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "level") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AccType"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "extflag") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "secondstage") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "s2fs1walk") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "FaultRecord"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "FaultRecord"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "FaultRecord"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_id "FaultRecord") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_id (Id_aux (Id "AddressDescriptor") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "AArch64_TranslateAddress") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "vaddress") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 12), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "wasaligned") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "AccType"); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "info") Unknown) [(E_aux (E_lit (L_aux (L_string "Translation is not implemented, return same address as the virtual (no fault, normal, shareable, non-secure).") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "AddressDescriptor") Unknown)) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_record (FES_aux (FES_Fexps [(FE_aux (FE_Fexp (Id_aux (Id "fault") Unknown) - (E_aux (E_app (Id_aux (Id "AArch64_NoFault") Unknown) []) (Unknown, (Just ((T_id "FaultRecord"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "FaultRecord"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "memattrs") Unknown) (E_aux (E_record (FES_aux (FES_Fexps [ - (FE_aux (FE_Fexp (Id_aux (Id "type") Unknown) (E_aux (E_id (Id_aux (Id "MemType_Normal") Unknown)) (Unknown, (Just ((T_id "MemType"), (Tag_enum one), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MemType"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "shareable") Unknown) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] false) (Unknown,Nothing))) (Unknown, (Just ((T_id "MemoryAttributes"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MemoryAttributes"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "paddress") Unknown) (E_aux (E_record (FES_aux (FES_Fexps [ - (FE_aux (FE_Fexp (Id_aux (Id "physicaladdress") Unknown) (E_aux (E_id (Id_aux (Id "vaddress") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (FE_aux (FE_Fexp (Id_aux (Id "NS") Unknown) (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] false) (Unknown,Nothing))) (Unknown, (Just ((T_id "FullAddress"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "FullAddress"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] false) (Unknown,Nothing))) (Unknown, (Just ((T_id "AddressDescriptor"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AddressDescriptor"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "AddressDescriptor"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "AccType"); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_id "AddressDescriptor") (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_type (TD_aux (TD_variant (Id_aux (Id "ast") Unknown) (Name_sect_aux Name_sect_none Unknown) (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) [ - (Tu_aux (Tu_id (Id_aux (Id "Unallocated") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "ImplementationDefinedTestBeginEnd") Unknown)) Unknown); - (Tu_aux (Tu_id (Id_aux (Id "ImplementationDefinedStopFetching") Unknown)) Unknown); - (Tu_aux (Tu_id (Id_aux (Id "ImplementationDefinedThreadStart") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "TMStart") Unknown)) Unknown); - (Tu_aux (Tu_id (Id_aux (Id "TMCommit") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant five) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Id_aux (Id "TMAbort") Unknown)) Unknown); - (Tu_aux (Tu_id (Id_aux (Id "TMTest") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Id_aux (Id "CompareAndBranch") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Id_aux (Id "BranchConditional") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant fifteen) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixteen) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "GenerateExceptionEL1") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant fifteen) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixteen) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "GenerateExceptionEL2") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant fifteen) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixteen) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "GenerateExceptionEL3") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant fifteen) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixteen) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "DebugBreakpoint") Unknown)) Unknown); - (Tu_aux (Tu_id (Id_aux (Id "ExternalDebugBreakpoint") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "DebugSwitchToExceptionLevel") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "PSTATEField") Unknown)) Unknown)]) Unknown) (Id_aux (Id "MoveSystemImmediate") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_id (Id_aux (Id "SystemHintOp") Unknown)) Unknown) (Id_aux (Id "Hint") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "ClearExclusiveMonitor") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "MemBarrierOp") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "MBReqDomain") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "MBReqTypes") Unknown)) Unknown)]) Unknown) (Id_aux (Id "Barrier") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)]) Unknown) (Id_aux (Id "System") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)]) Unknown) (Id_aux (Id "MoveSystemRegister") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Id_aux (Id "TestBitAndBranch") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "BranchType") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Id_aux (Id "BranchImmediate") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "BranchType") Unknown)) Unknown)]) Unknown) (Id_aux (Id "BranchRegister") Unknown)) Unknown); - (Tu_aux (Tu_id (Id_aux (Id "ExceptionReturn") Unknown)) Unknown); - (Tu_aux (Tu_id (Id_aux (Id "DebugRestorePState") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "MemOp") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Id_aux (Id "LoadLiteral") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "AccType") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "MemOp") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Id_aux (Id "LoadStoreAcqExc") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "AccType") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "MemOp") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Id_aux (Id "LoadStorePairNonTemp") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "AccType") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "MemOp") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Id_aux (Id "LoadImmediate") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "AccType") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "MemOp") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "ExtendType") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Id_aux (Id "LoadRegister") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "AccType") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "MemOp") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Id_aux (Id "LoadStorePair") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Id_aux (Id "AddSubImmediate") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Id_aux (Id "BitfieldMove") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown)]) Unknown) (Id_aux (Id "ExtractRegister") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "LogicalOp") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Id_aux (Id "LogicalImmediate") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant fifteen) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixteen) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "MoveWideOp") Unknown)) Unknown)]) Unknown) (Id_aux (Id "MoveWide") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Id_aux (Id "Address") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "ExtendType") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "range") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant zero) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant seven) Unknown)) Unknown)]) Unknown)]) Unknown) (Id_aux (Id "AddSubExtendRegister") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "ShiftType") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "range") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant zero) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown)]) Unknown)]) Unknown) (Id_aux (Id "AddSubShiftedRegister") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)]) Unknown) (Id_aux (Id "AddSubCarry") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Id_aux (Id "ConditionalCompareImmediate") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown)]) Unknown) (Id_aux (Id "ConditionalCompareRegister") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)]) Unknown) (Id_aux (Id "ConditionalSelect") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "RevOp") Unknown)) Unknown)]) Unknown) (Id_aux (Id "Reverse") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "CountOp") Unknown)) Unknown)]) Unknown) (Id_aux (Id "CountLeading") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)]) Unknown) (Id_aux (Id "Division") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "ShiftType") Unknown)) Unknown)]) Unknown) (Id_aux (Id "Shift") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)]) Unknown) (Id_aux (Id "CRC") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)]) Unknown) (Id_aux (Id "MultiplyAddSub") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)]) Unknown) (Id_aux (Id "MultiplyAddSubLong") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)]) Unknown) (Id_aux (Id "MultiplyHigh") Unknown)) Unknown); - (Tu_aux (Tu_ty_id (Typ_aux (Typ_tup [(Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "LogicalOp") Unknown)) Unknown); (Typ_aux (Typ_id (Id_aux (Id "ShiftType") Unknown)) Unknown); (Typ_aux (Typ_app (Id_aux (Id "range") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant zero) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown)]) Unknown); (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown)]) Unknown) (Id_aux (Id "LogicalShiftedRegister") Unknown)) Unknown);] false) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_barr Unknown); (BE_aux BE_eamem Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_exmem Unknown); (BE_aux BE_escape Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "execute") Unknown)) - (Unknown, (Just ((T_fn (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_barr Unknown); (BE_aux BE_eamem Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_exmem Unknown); (BE_aux BE_escape Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeTMStart") Unknown) (P_aux (P_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "TMStart") Unknown) [(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_extern_no_rename (TypSchm_aux (TypSchm_ts (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown) (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "TMCommitEffect") Unknown)) - (Unknown, (Just ((T_fn (T_id "unit") (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)), (Tag_extern Nothing), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeTMCommit") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "Some") Unknown) [ - (E_aux (E_app (Id_aux (Id "TMCommit") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeTMTest") Unknown) (P_aux (P_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "Some") Unknown) [ - (E_aux (E_app (Id_aux (Id "TMTest") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeTMAbort") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "R") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm5") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const five); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "Some") Unknown) [ - (E_aux (E_app (Id_aux (Id "TMAbort") Unknown) [ - (E_aux (E_id (Id_aux (Id "R") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "imm5") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const five); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeCompareBranchImmediate") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm19") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 18)); (T_arg_nexp (Ne_const 19)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const 19); (Ne_add [(Ne_const five); (Ne_const one)])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "iszero") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'nv42"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'nv42"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'nv42"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'nv42"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'nv42"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "SignExtend") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm19") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 18)); (T_arg_nexp (Ne_const 19)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_const 19)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const 19); (Ne_const two)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const 19); (Ne_const two)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv45"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv45")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "CompareAndBranch") Unknown) [ - (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "iszero") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const 19); (Ne_add [(Ne_const five); (Ne_const one)])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeConditionalBranchImmediate") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm19") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 18)); (T_arg_nexp (Ne_const 19)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "_cond") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const 19); (Ne_add [(Ne_const one); (Ne_add [(Ne_const four); (Ne_const seven)])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "SignExtend") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm19") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 18)); (T_arg_nexp (Ne_const 19)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_const 19)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const 19); (Ne_const two)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const 19); (Ne_const two)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv15"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv15")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "condition") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "_cond") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "BranchConditional") Unknown) [ - (E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "condition") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const 19); (Ne_add [(Ne_const one); (Ne_add [(Ne_const four); (Ne_const seven)])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtyone) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtytwo) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "decodeExceptionGeneration") Unknown)) - (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeExceptionGeneration") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm16") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant fifteen) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixteen) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "imm16") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "GenerateExceptionEL1") Unknown) [(E_aux (E_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "decodeExceptionGeneration") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm16") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant fifteen) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixteen) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "imm16") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "GenerateExceptionEL2") Unknown) [(E_aux (E_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "decodeExceptionGeneration") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm16") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant fifteen) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixteen) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "imm16") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "GenerateExceptionEL3") Unknown) [(E_aux (E_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "decodeExceptionGeneration") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm16") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant fifteen) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixteen) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "comment") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "imm16") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "DebugBreakpoint") Unknown) [(E_aux (E_id (Id_aux (Id "comment") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "decodeExceptionGeneration") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm16") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "Some") Unknown) [ - (E_aux (E_app (Id_aux (Id "ExternalDebugBreakpoint") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "decodeExceptionGeneration") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm16") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "LL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "target_level") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "LL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "LL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv72")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv74")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "DebugSwitchToExceptionLevel") Unknown) [(E_aux (E_id (Id_aux (Id "target_level") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtyone) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtytwo) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "decodeSystem") Unknown)) - (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeSystem") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "CRm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "CRm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "PSTATEField") Unknown)) Unknown) (Id_aux (Id "field") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "PSTATEField"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "PSTATEField_DAIFSet") Unknown)) (Unknown, (Just ((T_id "PSTATEField"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "PSTATEField"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "PSTATEField_DAIFClr") Unknown)) (Unknown, (Just ((T_id "PSTATEField"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "PSTATEField"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "PSTATEField_SP") Unknown)) (Unknown, (Just ((T_id "PSTATEField"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "PSTATEField"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "PSTATEField"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "op1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "op2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv21")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const three); (Ne_const three)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_const three)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const three); (Ne_const three)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_const three)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "field") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "PSTATEField"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "PSTATEField_SP") Unknown)) (Unknown, (Just ((T_id "PSTATEField"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const three); (Ne_const three)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_const three)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "field") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "PSTATEField"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "PSTATEField_DAIFSet") Unknown)) (Unknown, (Just ((T_id "PSTATEField"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const three); (Ne_const three)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_const three)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "field") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "PSTATEField"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "PSTATEField_DAIFClr") Unknown)) (Unknown, (Just ((T_id "PSTATEField"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const three); (Ne_const three)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_const three)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "MoveSystemImmediate") Unknown) [ - (E_aux (E_id (Id_aux (Id "operand") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "field") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "PSTATEField"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "decodeSystem") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "CRm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "SystemHintOp") Unknown)) Unknown) (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "SystemHintOp"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "SystemHintOp_NOP") Unknown)) (Unknown, (Just ((T_id "SystemHintOp"), (Tag_enum six), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "SystemHintOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "SystemHintOp_YIELD") Unknown)) (Unknown, (Just ((T_id "SystemHintOp"), (Tag_enum six), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "SystemHintOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "SystemHintOp_WFE") Unknown)) (Unknown, (Just ((T_id "SystemHintOp"), (Tag_enum six), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "SystemHintOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "SystemHintOp_WFI") Unknown)) (Unknown, (Just ((T_id "SystemHintOp"), (Tag_enum six), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "SystemHintOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num four) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "SystemHintOp_SEV") Unknown)) (Unknown, (Just ((T_id "SystemHintOp"), (Tag_enum six), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "SystemHintOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num five) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "SystemHintOp_SEVL") Unknown)) (Unknown, (Just ((T_id "SystemHintOp"), (Tag_enum six), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "SystemHintOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "SystemHintOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "CRm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "op2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const four); (Ne_const three)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const four); (Ne_const three)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const four); (Ne_const three)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const four); (Ne_const three)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "SystemHintOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "SystemHintOp_NOP") Unknown)) (Unknown, (Just ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const four); (Ne_const three)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const four); (Ne_const three)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "SystemHintOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "SystemHintOp_YIELD") Unknown)) (Unknown, (Just ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const four); (Ne_const three)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const four); (Ne_const three)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "SystemHintOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "SystemHintOp_WFE") Unknown)) (Unknown, (Just ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const four); (Ne_const three)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const four); (Ne_const three)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "SystemHintOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "SystemHintOp_WFI") Unknown)) (Unknown, (Just ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const four); (Ne_const three)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const four); (Ne_const three)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "SystemHintOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "SystemHintOp_SEV") Unknown)) (Unknown, (Just ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const four); (Ne_const three)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const four); (Ne_const three)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "SystemHintOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "SystemHintOp_SEVL") Unknown)) (Unknown, (Just ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const four); (Ne_const three)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const four); (Ne_const three)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "SystemHintOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "SystemHintOp_NOP") Unknown)) (Unknown, (Just ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "Hint") Unknown) [(E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "SystemHintOp"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "decodeSystem") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "CRm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "unsigned") Unknown) [(E_aux (E_id (Id_aux (Id "CRm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), (Tag_extern (Just "unsigned")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "ClearExclusiveMonitor") Unknown) [(E_aux (E_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "decodeSystem") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "CRm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "MemBarrierOp") Unknown)) Unknown) (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemBarrierOp"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MemBarrierOp_DSB") Unknown)) (Unknown, (Just ((T_id "MemBarrierOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MemBarrierOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MemBarrierOp_DMB") Unknown)) (Unknown, (Just ((T_id "MemBarrierOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MemBarrierOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MemBarrierOp_ISB") Unknown)) (Unknown, (Just ((T_id "MemBarrierOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MemBarrierOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "MemBarrierOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "MBReqDomain") Unknown)) Unknown) (Id_aux (Id "domain") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MBReqDomain"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MBReqDomain_Nonshareable") Unknown)) (Unknown, (Just ((T_id "MBReqDomain"), (Tag_enum four), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MBReqDomain"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MBReqDomain_InnerShareable") Unknown)) (Unknown, (Just ((T_id "MBReqDomain"), (Tag_enum four), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MBReqDomain"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MBReqDomain_OuterShareable") Unknown)) (Unknown, (Just ((T_id "MBReqDomain"), (Tag_enum four), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MBReqDomain"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MBReqDomain_FullSystem") Unknown)) (Unknown, (Just ((T_id "MBReqDomain"), (Tag_enum four), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MBReqDomain"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "MBReqDomain"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "MBReqTypes") Unknown)) Unknown) (Id_aux (Id "types") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MBReqTypes"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MBReqTypes_Reads") Unknown)) (Unknown, (Just ((T_id "MBReqTypes"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MBReqTypes"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MBReqTypes_Writes") Unknown)) (Unknown, (Just ((T_id "MBReqTypes"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MBReqTypes"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MBReqTypes_All") Unknown)) (Unknown, (Just ((T_id "MBReqTypes"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MBReqTypes"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "MBReqTypes"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemBarrierOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "MemBarrierOp_DSB") Unknown)) (Unknown, (Just ((T_id "MemBarrierOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemBarrierOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "MemBarrierOp_DMB") Unknown)) (Unknown, (Just ((T_id "MemBarrierOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemBarrierOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "MemBarrierOp_ISB") Unknown)) (Unknown, (Just ((T_id "MemBarrierOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_case (E_aux (E_vector_subrange (E_aux (E_id (Id_aux (Id "CRm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const three) (Ne_const two)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "domain") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MBReqDomain"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "MBReqDomain_OuterShareable") Unknown)) (Unknown, (Just ((T_id "MBReqDomain"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "domain") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MBReqDomain"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "MBReqDomain_Nonshareable") Unknown)) (Unknown, (Just ((T_id "MBReqDomain"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "domain") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MBReqDomain"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "MBReqDomain_InnerShareable") Unknown)) (Unknown, (Just ((T_id "MBReqDomain"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "domain") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MBReqDomain"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "MBReqDomain_FullSystem") Unknown)) (Unknown, (Just ((T_id "MBReqDomain"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_case (E_aux (E_vector_subrange (E_aux (E_id (Id_aux (Id "CRm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const one) (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "types") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MBReqTypes"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "MBReqTypes_Reads") Unknown)) (Unknown, (Just ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "types") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MBReqTypes"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "MBReqTypes_Writes") Unknown)) (Unknown, (Just ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "types") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MBReqTypes"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "MBReqTypes_All") Unknown)) (Unknown, (Just ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const one) (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "types") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MBReqTypes"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "MBReqTypes_All") Unknown)) (Unknown, (Just ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "domain") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MBReqDomain"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "MBReqDomain_FullSystem") Unknown)) (Unknown, (Just ((T_id "MBReqDomain"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "Barrier") Unknown) [ - (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemBarrierOp"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "domain") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MBReqDomain"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "types") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MBReqTypes"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "decodeSystem") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "L") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "CRn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "CRm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv131")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv131")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "sys_op0") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "sys_op1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "op1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const three); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv147"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "sys_op2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "op2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const three); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv149"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "sys_crn") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "CRn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const four); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv151"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "sys_crm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "CRm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const four); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv153"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "has_result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "L") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv168")); (T_arg_nexp (Ne_var "'nv167"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv168")); (T_arg_nexp (Ne_var "'nv167"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv168")); (T_arg_nexp (Ne_var "'nv167"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv168")); (T_arg_nexp (Ne_var "'nv167"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv168")); (T_arg_nexp (Ne_var "'nv167"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "System") Unknown) [ - (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_op0") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_op1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_op2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_crn") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_crm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "has_result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "decodeSystem") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "L") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "o0") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "CRn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "CRm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv172")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv172")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "sys_op0") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_id (Id_aux (Id "o0") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const one); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv224"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv195"); (Ne_var "'nv196")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "sys_op1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "op1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const three); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv226"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "sys_op2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "op2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const three); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv228"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "sys_crn") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "CRn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const four); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv230"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "sys_crm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "CRm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const four); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv232"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "read") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "L") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv247")); (T_arg_nexp (Ne_var "'nv246"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv247")); (T_arg_nexp (Ne_var "'nv246"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv247")); (T_arg_nexp (Ne_var "'nv246"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv247")); (T_arg_nexp (Ne_var "'nv246"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv247")); (T_arg_nexp (Ne_var "'nv246"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "MoveSystemRegister") Unknown) [ - (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_op0") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_op1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_op2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_crn") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_crm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "read") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtyone) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtytwo) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "decodeImplementationDefined") Unknown)) - (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeImplementationDefined") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "isEnd") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "Some") Unknown) [ - (E_aux (E_app (Id_aux (Id "ImplementationDefinedTestBeginEnd") Unknown) [(E_aux (E_id (Id_aux (Id "isEnd") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "decodeImplementationDefined") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "Some") Unknown) [ - (E_aux (E_app (Id_aux (Id "ImplementationDefinedStopFetching") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "decodeImplementationDefined") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "Some") Unknown) [ - (E_aux (E_app (Id_aux (Id "ImplementationDefinedThreadStart") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeTestBranchImmediate") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "b5") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "b40") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm14") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 13)); (T_arg_nexp (Ne_const 14)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const 14); (Ne_add [(Ne_const five); (Ne_const one)])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "b5") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "bit_pos") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_id (Id_aux (Id "b5") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "b40") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const one); (Ne_const five)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_const five)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv31"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv31")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv32"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown) (Id_aux (Id "bit_val") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "SignExtend") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm14") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 13)); (T_arg_nexp (Ne_const 14)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_const 14)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv42")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const 14); (Ne_const two)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const 14); (Ne_const two)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv38"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv38")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "TestBitAndBranch") Unknown) [ - (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "bit_pos") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "bit_val") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const 14); (Ne_add [(Ne_const five); (Ne_const one)])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeUnconditionalBranchImmediate") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm26") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 25)); (T_arg_nexp (Ne_const 26)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const five); (Ne_add [(Ne_const 26); (Ne_const one)])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "BranchType") Unknown)) Unknown) (Id_aux (Id "branch_type") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "BranchType"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv24")); (T_arg_nexp (Ne_var "'nv23"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv24")); (T_arg_nexp (Ne_var "'nv23"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv24")); (T_arg_nexp (Ne_var "'nv23"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv24")); (T_arg_nexp (Ne_var "'nv23"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv24")); (T_arg_nexp (Ne_var "'nv23"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "BranchType_CALL") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "BranchType_JMP") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "BranchType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "SignExtend") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm26") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 25)); (T_arg_nexp (Ne_const 26)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_const 26)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const 26); (Ne_const two)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const 26); (Ne_const two)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv26"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv26")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "BranchImmediate") Unknown) [ - (E_aux (E_id (Id_aux (Id "branch_type") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "BranchType"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const five); (Ne_add [(Ne_const 26); (Ne_const one)])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtyone) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtytwo) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "decodeUnconditionalBranchRegister") Unknown)) - (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeUnconditionalBranchRegister") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "BranchType") Unknown)) Unknown) (Id_aux (Id "branch_type") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "BranchType"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "BranchType_CALL") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "BranchType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "BranchType_ERET") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "BranchType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "BranchType_DBGEXIT") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "BranchType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "BranchType_RET") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "BranchType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num four) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "BranchType_JMP") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "BranchType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num five) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "BranchType_EXCEPTION") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "BranchType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num six) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "BranchType_UNKNOWN") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "BranchType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "BranchType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "branch_type") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "BranchType"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "BranchType_JMP") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "branch_type") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "BranchType"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "BranchType_CALL") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "branch_type") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "BranchType"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "BranchType_RET") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "BranchRegister") Unknown) [ - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "branch_type") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "BranchType"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "decodeUnconditionalBranchRegister") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "Some") Unknown) [ - (E_aux (E_app (Id_aux (Id "ExceptionReturn") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "decodeUnconditionalBranchRegister") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "Some") Unknown) [ - (E_aux (E_app (Id_aux (Id "DebugRestorePState") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeAdvSIMDLoadStoreMultiStruct") Unknown) (P_aux (P_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "decodeAdvSIMDLoadStoreMultiStruct") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "Unallocated") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeAdvSIMDLoadStoreMultiStructPostIndexed") Unknown) (P_aux (P_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "decodeAdvSIMDLoadStoreMultiStructPostIndexed") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "Unallocated") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeAdvSIMDLoadStoreSingleStruct") Unknown) (P_aux (P_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "decodeAdvSIMDLoadStoreSingleStruct") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "Unallocated") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeAdvSIMDLoadStoreSingleStructPostIndexed") Unknown) (P_aux (P_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "decodeAdvSIMDLoadStoreSingleStructPostIndexed") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "Unallocated") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeLoadRegisterLiteral") Unknown) (P_aux (P_vector_concat [(P_aux (P_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm19") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 18)); (T_arg_nexp (Ne_const 19)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const 19); (Ne_add [(Ne_const five); (Ne_const two)])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "MemOp") Unknown)) Unknown) (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemOp"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "MemOp_LOAD") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "_signed") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num four) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const four))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num four) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const four))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num four) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const four))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "_signed") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "MemOp_PREFETCH") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "SignExtend") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm19") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 18)); (T_arg_nexp (Ne_const 19)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const 19)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv21")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const 19); (Ne_const two)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const 19); (Ne_const two)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv17"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv17")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv24") (Ne_var "'nv25")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "LoadLiteral") Unknown) [ - (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemOp"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "_signed") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const 19); (Ne_add [(Ne_const five); (Ne_const two)])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeLoadStoreExclusive") Unknown) (P_aux (P_vector_concat [(P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "o2") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "L") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "o1") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rs") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "o0") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rt2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "s") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rs") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [ - (E_aux (E_id (Id_aux (Id "o2") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "o1") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "o0") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv37")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_id (Id_aux (Id "o2") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "o1") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv32")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "o1") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv111")); (T_arg_nexp (Ne_var "'nv110"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv111")); (T_arg_nexp (Ne_var "'nv110"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv111")); (T_arg_nexp (Ne_var "'nv110"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv111")); (T_arg_nexp (Ne_var "'nv110"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv111")); (T_arg_nexp (Ne_var "'nv110"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv93")); (T_arg_nexp (Ne_var "'nv92"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv93")); (T_arg_nexp (Ne_var "'nv92"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv93")); (T_arg_nexp (Ne_var "'nv92"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv93")); (T_arg_nexp (Ne_var "'nv92"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv93")); (T_arg_nexp (Ne_var "'nv92"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "AccType") Unknown)) Unknown) (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AccType"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "o0") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv126")); (T_arg_nexp (Ne_var "'nv125"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv126")); (T_arg_nexp (Ne_var "'nv125"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv126")); (T_arg_nexp (Ne_var "'nv125"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv126")); (T_arg_nexp (Ne_var "'nv125"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv126")); (T_arg_nexp (Ne_var "'nv125"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "AccType_ORDERED") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "AccType_ATOMIC") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "excl") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "o2") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv141")); (T_arg_nexp (Ne_var "'nv140"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv141")); (T_arg_nexp (Ne_var "'nv140"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv141")); (T_arg_nexp (Ne_var "'nv140"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv141")); (T_arg_nexp (Ne_var "'nv140"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv141")); (T_arg_nexp (Ne_var "'nv140"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "pair") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "o1") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv156")); (T_arg_nexp (Ne_var "'nv155"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv156")); (T_arg_nexp (Ne_var "'nv155"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv156")); (T_arg_nexp (Ne_var "'nv155"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv156")); (T_arg_nexp (Ne_var "'nv155"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv156")); (T_arg_nexp (Ne_var "'nv155"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "MemOp") Unknown)) Unknown) (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemOp"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "L") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv171")); (T_arg_nexp (Ne_var "'nv170"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv171")); (T_arg_nexp (Ne_var "'nv170"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv171")); (T_arg_nexp (Ne_var "'nv170"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv171")); (T_arg_nexp (Ne_var "'nv170"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv171")); (T_arg_nexp (Ne_var "'nv170"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MemOp_LOAD") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MemOp_STORE") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "elsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv177")); (T_arg_nexp (Ne_var "'nv176"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "lsl") Unknown) [(E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const two); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv175"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv172") (Ne_exp (Ne_var "'nv173"))))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "regsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "elsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv177")); (T_arg_nexp (Ne_var "'nv176"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_id (Id_aux (Id "pair") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "elsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv177")); (T_arg_nexp (Ne_var "'nv176"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv193") (Ne_var "'nv194")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "elsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv177")); (T_arg_nexp (Ne_var "'nv176"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "LoadStoreAcqExc") Unknown) [ - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "s") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AccType"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "excl") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "pair") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemOp"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "elsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv177")); (T_arg_nexp (Ne_var "'nv176"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "regsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeLoadStoreNoAllocatePairOffset") Unknown) (P_aux (P_vector_concat [(P_aux (P_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "L") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm7") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rt2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "AccType") Unknown)) Unknown) (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AccType"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "AccType_STREAM") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "MemOp") Unknown)) Unknown) (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemOp"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "L") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MemOp_LOAD") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MemOp_STORE") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv54")); (T_arg_nexp (Ne_var "'nv53"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv54")); (T_arg_nexp (Ne_var "'nv53"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv54")); (T_arg_nexp (Ne_var "'nv53"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv54")); (T_arg_nexp (Ne_var "'nv53"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv54")); (T_arg_nexp (Ne_var "'nv53"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [ - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const one); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv96"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv67"); (Ne_var "'nv68")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "lsl") Unknown) [(E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv100") (Ne_exp (Ne_var "'nv101"))))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "LSL") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "SignExtend") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm7") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const seven); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "LoadStorePairNonTemp") Unknown) [ - (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AccType"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemOp"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "sharedDecodeLoadImmediate") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "prefetchAllowed") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))); (T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "AccType"); (T_abbrev (T_id "bool") (T_id "bit"))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "MemOp") Unknown)) Unknown) (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemOp"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MemOp_LOAD") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MemOp_STORE") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MemOp_PREFETCH") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "_signed") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "regsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MemOp_LOAD") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MemOp_STORE") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "regsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv44")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv46")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "_signed") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_id (Id_aux (Id "prefetchAllowed") Unknown)) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign - (LEXP_aux (LEXP_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "MemOp_PREFETCH") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix - (E_aux (E_case - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv67")); (T_arg_nexp (Ne_var "'nv66"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv67")); (T_arg_nexp (Ne_var "'nv66"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv67")); (T_arg_nexp (Ne_var "'nv66"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv67")); (T_arg_nexp (Ne_var "'nv66"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv67")); (T_arg_nexp (Ne_var "'nv66"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "MemOp_LOAD") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv118")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [ - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv120")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_case - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv114")); (T_arg_nexp (Ne_var "'nv113"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv114")); (T_arg_nexp (Ne_var "'nv113"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv114")); (T_arg_nexp (Ne_var "'nv113"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv114")); (T_arg_nexp (Ne_var "'nv113"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv114")); (T_arg_nexp (Ne_var "'nv113"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "regsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "_signed") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "lsl") Unknown) [(E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv142") (Ne_exp (Ne_var "'nv143"))))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "LoadImmediate") Unknown) [ - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemOp"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "_signed") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "regsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))); (T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_id "AccType"); (T_abbrev (T_id "bool") (T_id "bit"))]) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeLoadStoreRegisterImmediatePostIndexed") Unknown) (P_aux (P_vector_concat [(P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm9") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const 9); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const two); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv25"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "SignExtend") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm9") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const 9); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "sharedDecodeLoadImmediate") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "AccType_NORMAL") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const 9); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeLoadStoreRegisterImmediatePreIndexed") Unknown) (P_aux (P_vector_concat [(P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm9") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const 9); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const two); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv25"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "SignExtend") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm9") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const 9); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "sharedDecodeLoadImmediate") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "AccType_NORMAL") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const 9); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "sharedDecodeLoadRegister") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "extend_type") Unknown)) (Unknown, (Just ((T_id "ExtendType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))); (T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))); (T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))); (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_id "ExtendType"); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "AccType") Unknown)) Unknown) (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AccType"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "AccType_NORMAL") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "MemOp") Unknown)) Unknown) (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemOp"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MemOp_LOAD") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MemOp_STORE") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MemOp_PREFETCH") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "_signed") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "regsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MemOp_LOAD") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MemOp_STORE") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "regsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv44")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv46")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "_signed") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "MemOp_PREFETCH") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv67")); (T_arg_nexp (Ne_var "'nv66"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv67")); (T_arg_nexp (Ne_var "'nv66"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv67")); (T_arg_nexp (Ne_var "'nv66"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv67")); (T_arg_nexp (Ne_var "'nv66"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv67")); (T_arg_nexp (Ne_var "'nv66"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "MemOp_LOAD") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv118")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [ - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv120")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_case - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv114")); (T_arg_nexp (Ne_var "'nv113"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv114")); (T_arg_nexp (Ne_var "'nv113"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv114")); (T_arg_nexp (Ne_var "'nv113"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv114")); (T_arg_nexp (Ne_var "'nv113"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv114")); (T_arg_nexp (Ne_var "'nv113"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "regsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "_signed") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "lsl") Unknown) [(E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv142") (Ne_exp (Ne_var "'nv143"))))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "LoadRegister") Unknown) [ - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AccType"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemOp"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "_signed") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "extend_type") Unknown)) (Unknown, (Just ((T_id "ExtendType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "regsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))); (T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))); (T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))); (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))); (T_id "ExtendType"); (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))]) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeLoadStoreRegisterRegisterOffset") Unknown) (P_aux (P_vector_concat [(P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv27")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "option_v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "S") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv27")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const two); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv29"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_vector_access - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "option_v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_var "'nv46"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_var "'nv46"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_var "'nv46"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_var "'nv46"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_var "'nv46"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "ExtendType") Unknown)) Unknown) (Id_aux (Id "extend_type") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "ExtendType"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "DecodeRegExtend") Unknown) [(E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "option_v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "ExtendType"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "S") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv65")); (T_arg_nexp (Ne_var "'nv64"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv65")); (T_arg_nexp (Ne_var "'nv64"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv65")); (T_arg_nexp (Ne_var "'nv64"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv65")); (T_arg_nexp (Ne_var "'nv64"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv65")); (T_arg_nexp (Ne_var "'nv64"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "sharedDecodeLoadRegister") Unknown) [ - (E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv27")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "extend_type") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "ExtendType"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeLoadStoreRegisterUnprivileged") Unknown) (P_aux (P_vector_concat [(P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm9") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const 9); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const two); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv25"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "SignExtend") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm9") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const 9); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "sharedDecodeLoadImmediate") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "AccType_UNPRIV") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const 9); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeLoadStoreRegisterUnscaledImmediate") Unknown) (P_aux (P_vector_concat [(P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm9") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const 9); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const two); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv25"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "SignExtend") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm9") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const 9); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "sharedDecodeLoadImmediate") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "AccType_NORMAL") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const 9); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeLoadStoreRegisterUnsignedImmediate") Unknown) (P_aux (P_vector_concat [(P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm12") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 11)); (T_arg_nexp (Ne_const 12)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const 12); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const two); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv21"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "LSL") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm12") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 11)); (T_arg_nexp (Ne_const 12)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const 12); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const 12)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "sharedDecodeLoadImmediate") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "AccType_NORMAL") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const 12); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "sharedDecodeLoadStorePair") Unknown) (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "L") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv16")); (T_arg_nexp (Ne_var "'nv15"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm7") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv110"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv110")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv16")); (T_arg_nexp (Ne_var "'nv15"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv110"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv110")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))); (T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))); (T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_id "boolean") (T_id "bit"))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rt2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "AccType") Unknown)) Unknown) (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AccType"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "AccType_NORMAL") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "MemOp") Unknown)) Unknown) (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemOp"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "L") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv16")); (T_arg_nexp (Ne_var "'nv15"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MemOp_LOAD") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MemOp_STORE") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [ - (E_aux (E_if - (E_aux (E_app (Id_aux (Id "is_one") Unknown) [(E_aux (E_id (Id_aux (Id "L") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv16")); (T_arg_nexp (Ne_var "'nv15"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "is_one")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv37")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv39")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv31")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv33")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "_signed") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv60")); (T_arg_nexp (Ne_var "'nv59"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv60")); (T_arg_nexp (Ne_var "'nv59"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv60")); (T_arg_nexp (Ne_var "'nv59"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv60")); (T_arg_nexp (Ne_var "'nv59"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv60")); (T_arg_nexp (Ne_var "'nv59"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [ - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const one); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv102"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv73"); (Ne_var "'nv74")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "lsl") Unknown) [(E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv106") (Ne_exp (Ne_var "'nv107"))))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "LSL") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "SignExtend") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "imm7") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv110"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv110")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "LoadStorePair") Unknown) [ - (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "AccType"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MemOp"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "_signed") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_tup [(T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv16")); (T_arg_nexp (Ne_var "'nv15"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv110"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv110")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))); (T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))); (T_abbrev (T_id "reg_size") (T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))); (T_abbrev (T_id "boolean") (T_id "bit")); (T_abbrev (T_id "boolean") (T_id "bit"))]) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeLoadStoreRegisterPairOffset") Unknown) (P_aux (P_vector_concat [(P_aux (P_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv21")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "L") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm7") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "sharedDecodeLoadStorePair") Unknown) [ - (E_aux (E_case (E_aux (E_id (Id_aux (Id "L") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv21")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm7") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const seven); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "Rt2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeLoadStoreRegisterPairPostIndexed") Unknown) (P_aux (P_vector_concat [(P_aux (P_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv21")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "L") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm7") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "sharedDecodeLoadStorePair") Unknown) [ - (E_aux (E_case (E_aux (E_id (Id_aux (Id "L") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv21")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm7") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const seven); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "Rt2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeLoadStoreRegisterPairPreIndexed") Unknown) (P_aux (P_vector_concat [(P_aux (P_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv21")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "L") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm7") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "sharedDecodeLoadStorePair") Unknown) [ - (E_aux (E_case (E_aux (E_id (Id_aux (Id "L") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv21")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm7") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const seven); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "Rt") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "Rt2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeAddSubtractImmediate") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "S") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm12") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 11)); (T_arg_nexp (Ne_const 12)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const 12); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "S") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm12") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 11)); (T_arg_nexp (Ne_const 12)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const 12); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const 12)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm12") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 11)); (T_arg_nexp (Ne_const 12)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv70")); (T_arg_nexp (Ne_const 12)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv79")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "^^") Unknown) (E_aux (E_lit (L_aux (L_num 12) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const 12))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv79")); (T_arg_nexp (Ne_mult (Ne_const one) (Ne_var "'nv77"))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "duplicate_bits")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv72")); (T_arg_nexp (Ne_var "'nv77")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const 12); (Ne_var "'nv77")]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const 12); (Ne_var "'nv77")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv68"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv68")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ReservedValue") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "AddSubImmediate") Unknown) [ - (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const 12); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeBitfield") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "immr") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imms") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const six); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "inzero") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "extend") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "R") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "S") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "inzero") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "extend") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "inzero") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "extend") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "inzero") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "extend") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv96")); (T_arg_nexp (Ne_var "'nv95"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv96")); (T_arg_nexp (Ne_var "'nv95"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv96")); (T_arg_nexp (Ne_var "'nv95"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv96")); (T_arg_nexp (Ne_var "'nv95"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv96")); (T_arg_nexp (Ne_var "'nv95"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_var "'nv80"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_var "'nv80"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_var "'nv80"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_var "'nv80"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_var "'nv80"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ReservedValue") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv536")); (T_arg_nexp (Ne_var "'nv535"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv536")); (T_arg_nexp (Ne_var "'nv535"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv536")); (T_arg_nexp (Ne_var "'nv535"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv536")); (T_arg_nexp (Ne_var "'nv535"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv536")); (T_arg_nexp (Ne_var "'nv535"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv521")); (T_arg_nexp (Ne_var "'nv520"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv521")); (T_arg_nexp (Ne_var "'nv520"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv521")); (T_arg_nexp (Ne_var "'nv520"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv521")); (T_arg_nexp (Ne_var "'nv520"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv521")); (T_arg_nexp (Ne_var "'nv520"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_case - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "immr") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num five) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const five))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv503")); (T_arg_nexp (Ne_var "'nv502"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv503")); (T_arg_nexp (Ne_var "'nv502"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv503")); (T_arg_nexp (Ne_var "'nv502"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv503")); (T_arg_nexp (Ne_var "'nv502"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv503")); (T_arg_nexp (Ne_var "'nv502"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "imms") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num five) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const five))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv482")); (T_arg_nexp (Ne_var "'nv481"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv482")); (T_arg_nexp (Ne_var "'nv481"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv482")); (T_arg_nexp (Ne_var "'nv481"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv482")); (T_arg_nexp (Ne_var "'nv481"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv482")); (T_arg_nexp (Ne_var "'nv481"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ReservedValue") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "R") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "immr") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const six); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv538"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "S") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imms") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const six); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv540"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "wmask") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "tmask") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "DecodeBitMasks") Unknown) [ - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "imms") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "immr") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "Some") Unknown) [ - (E_aux (E_app (Id_aux (Id "BitfieldMove") Unknown) [ - (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "inzero") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "extend") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "R") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "S") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "wmask") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "tmask") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const six); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeExtract") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imms") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "lsb") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv121")); (T_arg_nexp (Ne_var "'nv120"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv121")); (T_arg_nexp (Ne_var "'nv120"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv121")); (T_arg_nexp (Ne_var "'nv120"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv121")); (T_arg_nexp (Ne_var "'nv120"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv121")); (T_arg_nexp (Ne_var "'nv120"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "imms") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num five) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const five))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_var "'nv102"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_var "'nv102"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_var "'nv102"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_var "'nv102"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_var "'nv102"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ReservedValue") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "lsb") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imms") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const six); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv123"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "ExtractRegister") Unknown) [ - (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "lsb") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeLogicalImmediate") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "immr") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imms") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const six); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "LogicalOp") Unknown)) Unknown) (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "LogicalOp"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "LogicalOp_AND") Unknown)) (Unknown, (Just ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "LogicalOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "LogicalOp_AND") Unknown)) (Unknown, (Just ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "LogicalOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "LogicalOp_ORR") Unknown)) (Unknown, (Just ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "LogicalOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "LogicalOp_EOR") Unknown)) (Unknown, (Just ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "LogicalOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "LogicalOp_AND") Unknown)) (Unknown, (Just ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv96")); (T_arg_nexp (Ne_var "'nv95"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv96")); (T_arg_nexp (Ne_var "'nv95"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv96")); (T_arg_nexp (Ne_var "'nv95"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv96")); (T_arg_nexp (Ne_var "'nv95"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv96")); (T_arg_nexp (Ne_var "'nv95"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_var "'nv80"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_var "'nv80"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_var "'nv80"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_var "'nv80"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_var "'nv80"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ReservedValue") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_app (Id_aux (Id "DecodeBitMasks") Unknown) [ - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "imms") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "immr") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "0v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "1v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_tuple [(E_aux (E_id (Id_aux (Id "0v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "1v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "Some") Unknown) [ - (E_aux (E_app (Id_aux (Id "LogicalImmediate") Unknown) [ - (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "LogicalOp"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const six); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeMoveWideImmediate") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "hw") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm16") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const two); (Ne_add [(Ne_const sixteen); (Ne_add [(Ne_const five); (Ne_const one)])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant fifteen) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixteen) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "imm16") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "pos") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "MoveWideOp") Unknown)) Unknown) (Id_aux (Id "opcode") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MoveWideOp"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MoveWideOp_N") Unknown)) (Unknown, (Just ((T_id "MoveWideOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MoveWideOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MoveWideOp_Z") Unknown)) (Unknown, (Just ((T_id "MoveWideOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MoveWideOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "MoveWideOp_K") Unknown)) (Unknown, (Just ((T_id "MoveWideOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "MoveWideOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "MoveWideOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "opcode") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MoveWideOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "MoveWideOp_N") Unknown)) (Unknown, (Just ((T_id "MoveWideOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "opcode") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MoveWideOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "MoveWideOp_Z") Unknown)) (Unknown, (Just ((T_id "MoveWideOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "opcode") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MoveWideOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "MoveWideOp_K") Unknown)) (Unknown, (Just ((T_id "MoveWideOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv104")); (T_arg_nexp (Ne_var "'nv103"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv104")); (T_arg_nexp (Ne_var "'nv103"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv104")); (T_arg_nexp (Ne_var "'nv103"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv104")); (T_arg_nexp (Ne_var "'nv103"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv104")); (T_arg_nexp (Ne_var "'nv103"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "hw") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_var "'nv85"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_var "'nv85"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_var "'nv85"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_var "'nv85"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_var "'nv85"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "pos") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "hw") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv108")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [ - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv110")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const two); (Ne_const four)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_const four)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv105"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv105")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv106"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "MoveWide") Unknown) [ - (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "pos") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "opcode") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "MoveWideOp"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const two); (Ne_add [(Ne_const sixteen); (Ne_add [(Ne_const five); (Ne_const one)])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodePCRelAddressing") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "immlo") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "immhi") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 18)); (T_arg_nexp (Ne_const 19)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const 19); (Ne_add [(Ne_const five); (Ne_const one)])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "page") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "page") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "SignExtend") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "immhi") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 18)); (T_arg_nexp (Ne_const 19)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv32")); (T_arg_nexp (Ne_const 19)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "immlo") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv45")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "^^") Unknown) (E_aux (E_lit (L_aux (L_num 12) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const 12))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv45")); (T_arg_nexp (Ne_mult (Ne_const one) (Ne_var "'nv43"))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "duplicate_bits")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv43")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const two); (Ne_var "'nv43")]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_var "'nv43")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const 19); (Ne_var "'nv33")]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const 19); (Ne_var "'nv33")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv30"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv30")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "SignExtend") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "immhi") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 18)); (T_arg_nexp (Ne_const 19)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_const 19)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "immlo") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv51")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const 19); (Ne_const two)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const 19); (Ne_const two)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv47"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'nv47")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "Address") Unknown) [ - (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "page") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const 19); (Ne_add [(Ne_const five); (Ne_const one)])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeAddSubtractExtendedRegister") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "S") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "option_v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const three); (Ne_add [(Ne_const three); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_var "'nv54"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_var "'nv54"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_var "'nv54"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_var "'nv54"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_var "'nv54"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "S") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv70")); (T_arg_nexp (Ne_var "'nv69"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv70")); (T_arg_nexp (Ne_var "'nv69"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv70")); (T_arg_nexp (Ne_var "'nv69"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv70")); (T_arg_nexp (Ne_var "'nv69"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv70")); (T_arg_nexp (Ne_var "'nv69"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "ExtendType") Unknown)) Unknown) (Id_aux (Id "extend_type") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "ExtendType"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "DecodeRegExtend") Unknown) [(E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "option_v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "ExtendType"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "range") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant zero) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant seven) Unknown)) Unknown)]) Unknown) (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const seven))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const three); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv72"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const seven))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id ">") Unknown) (E_aux (E_lit (L_aux (L_num four) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const four))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "gt")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ReservedValue") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "AddSubExtendRegister") Unknown) [ - (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "extend_type") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "ExtendType"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const seven))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const three); (Ne_add [(Ne_const three); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeAddSubtractShiftedRegister") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "S") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm6") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "S") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv68")); (T_arg_nexp (Ne_var "'nv67"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv68")); (T_arg_nexp (Ne_var "'nv67"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv68")); (T_arg_nexp (Ne_var "'nv67"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv68")); (T_arg_nexp (Ne_var "'nv67"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv68")); (T_arg_nexp (Ne_var "'nv67"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv69")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv71")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ReservedValue") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv145")); (T_arg_nexp (Ne_var "'nv144"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv145")); (T_arg_nexp (Ne_var "'nv144"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv145")); (T_arg_nexp (Ne_var "'nv144"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv145")); (T_arg_nexp (Ne_var "'nv144"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv145")); (T_arg_nexp (Ne_var "'nv144"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "imm6") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num five) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const five))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_var "'nv126"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_var "'nv126"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_var "'nv126"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_var "'nv126"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_var "'nv126"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ReservedValue") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "ShiftType") Unknown)) Unknown) (Id_aux (Id "shift_type") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "ShiftType"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "DecodeShift") Unknown) [(E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "ShiftType"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "range") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant zero) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown)]) Unknown) (Id_aux (Id "shift_amount") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const sixtythree))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm6") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const six); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv147"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "AddSubShiftedRegister") Unknown) [ - (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "shift_type") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "ShiftType"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "shift_amount") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const sixtythree))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeAddSubtractWithCarry") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "S") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const eight); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "S") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "AddSubCarry") Unknown) [ - (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const eight); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeConditionalCompareImmediate") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm5") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "_cond") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "nzcv") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "condition") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "_cond") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "flags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "nzcv") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm5") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const five); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "ConditionalCompareImmediate") Unknown) [ - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "condition") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "flags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeConditionalCompareRegister") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "_cond") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "nzcv") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "condition") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "_cond") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "flags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "nzcv") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "ConditionalCompareRegister") Unknown) [ - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "condition") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "flags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeConditionalSelect") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "_cond") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "o2") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "condition") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "_cond") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "else_inv") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv51")); (T_arg_nexp (Ne_var "'nv50"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv51")); (T_arg_nexp (Ne_var "'nv50"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv51")); (T_arg_nexp (Ne_var "'nv50"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv51")); (T_arg_nexp (Ne_var "'nv50"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv51")); (T_arg_nexp (Ne_var "'nv50"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "else_inc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "o2") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv66")); (T_arg_nexp (Ne_var "'nv65"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv66")); (T_arg_nexp (Ne_var "'nv65"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv66")); (T_arg_nexp (Ne_var "'nv65"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv66")); (T_arg_nexp (Ne_var "'nv65"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv66")); (T_arg_nexp (Ne_var "'nv65"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "ConditionalSelect") Unknown) [ - (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "condition") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "else_inv") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "else_inc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtyone) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtytwo) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "decodeData1Source") Unknown)) - (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeData1Source") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "RevOp") Unknown)) Unknown) (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "RevOp"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "RevOp_RBIT") Unknown)) (Unknown, (Just ((T_id "RevOp"), (Tag_enum four), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "RevOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "RevOp_REV16") Unknown)) (Unknown, (Just ((T_id "RevOp"), (Tag_enum four), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "RevOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "RevOp_REV32") Unknown)) (Unknown, (Just ((T_id "RevOp"), (Tag_enum four), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "RevOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "RevOp_REV64") Unknown)) (Unknown, (Just ((T_id "RevOp"), (Tag_enum four), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "RevOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "RevOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "RevOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "RevOp_RBIT") Unknown)) (Unknown, (Just ((T_id "RevOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "RevOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "RevOp_REV16") Unknown)) (Unknown, (Just ((T_id "RevOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "RevOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "RevOp_REV32") Unknown)) (Unknown, (Just ((T_id "RevOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "RevOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "RevOp_REV64") Unknown)) (Unknown, (Just ((T_id "RevOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "Reverse") Unknown) [ - (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "RevOp"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "decodeData1Source") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv84")); (T_arg_nexp (Ne_var "'nv83"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv84")); (T_arg_nexp (Ne_var "'nv83"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv84")); (T_arg_nexp (Ne_var "'nv83"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv84")); (T_arg_nexp (Ne_var "'nv83"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv84")); (T_arg_nexp (Ne_var "'nv83"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "CountOp") Unknown)) Unknown) (Id_aux (Id "opcode") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "CountOp"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv99")); (T_arg_nexp (Ne_var "'nv98"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv99")); (T_arg_nexp (Ne_var "'nv98"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv99")); (T_arg_nexp (Ne_var "'nv98"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv99")); (T_arg_nexp (Ne_var "'nv98"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv99")); (T_arg_nexp (Ne_var "'nv98"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "CountOp_CLZ") Unknown)) (Unknown, (Just ((T_id "CountOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "CountOp_CLS") Unknown)) (Unknown, (Just ((T_id "CountOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "CountOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "CountLeading") Unknown) [ - (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "opcode") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "CountOp"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtyone) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtytwo) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "decodeData2Source") Unknown)) - (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeData2Source") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "o1") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "o1") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "Division") Unknown) [ - (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "decodeData2Source") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv61")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv57")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv61")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv84")); (T_arg_nexp (Ne_var "'nv83"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv84")); (T_arg_nexp (Ne_var "'nv83"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv84")); (T_arg_nexp (Ne_var "'nv83"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv84")); (T_arg_nexp (Ne_var "'nv83"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv84")); (T_arg_nexp (Ne_var "'nv83"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "ShiftType") Unknown)) Unknown) (Id_aux (Id "shift_type") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "ShiftType"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "DecodeShift") Unknown) [(E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "op2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv57")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "ShiftType"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "Shift") Unknown) [ - (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "shift_type") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "ShiftType"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "decodeData2Source") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv98")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "C") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "sz") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv90")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv88")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv88")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv90")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv98")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv144")); (T_arg_nexp (Ne_var "'nv143"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv144")); (T_arg_nexp (Ne_var "'nv143"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv144")); (T_arg_nexp (Ne_var "'nv143"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv144")); (T_arg_nexp (Ne_var "'nv143"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv144")); (T_arg_nexp (Ne_var "'nv143"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "sz") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv129")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv182")); (T_arg_nexp (Ne_var "'nv181"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv182")); (T_arg_nexp (Ne_var "'nv181"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv182")); (T_arg_nexp (Ne_var "'nv181"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv182")); (T_arg_nexp (Ne_var "'nv181"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv182")); (T_arg_nexp (Ne_var "'nv181"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "sz") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv165")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv167")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "lsl") Unknown) [(E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "sz") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const two); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv186"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv183") (Ne_exp (Ne_var "'nv184"))))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "crc32c") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "C") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv201")); (T_arg_nexp (Ne_var "'nv200"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv201")); (T_arg_nexp (Ne_var "'nv200"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv201")); (T_arg_nexp (Ne_var "'nv200"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv201")); (T_arg_nexp (Ne_var "'nv200"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv201")); (T_arg_nexp (Ne_var "'nv200"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "CRC") Unknown) [ - (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "crc32c") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtyone) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtytwo) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "decodeData3Source") Unknown)) - (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeData3Source") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "o0") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Ra") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "a") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Ra") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "destsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "destsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "o0") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "MultiplyAddSub") Unknown) [ - (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "a") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "destsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "decodeData3Source") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "U") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv61")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "o0") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Ra") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv57")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv61")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "a") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Ra") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv57")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "destsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "o0") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_var "'nv85"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_var "'nv85"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_var "'nv85"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_var "'nv85"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_var "'nv85"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "U") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv101")); (T_arg_nexp (Ne_var "'nv100"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv101")); (T_arg_nexp (Ne_var "'nv100"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv101")); (T_arg_nexp (Ne_var "'nv100"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv101")); (T_arg_nexp (Ne_var "'nv100"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv101")); (T_arg_nexp (Ne_var "'nv100"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "MultiplyAddSubLong") Unknown) [ - (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "a") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "destsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "decodeData3Source") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "U") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv113")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Ra") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv109")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv107")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv105")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv105")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv107")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv113")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "a") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Ra") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv109")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "destsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "destsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "U") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "MultiplyHigh") Unknown) [ - (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "a") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "destsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeLogicalShiftedRegister") Unknown) (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm6") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rd") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rn") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "reg_index") Unknown)) Unknown) (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt_reg") Unknown) [(E_aux (E_id (Id_aux (Id "Rm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "atom") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "LogicalOp") Unknown)) Unknown) (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "LogicalOp"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "LogicalOp_AND") Unknown)) (Unknown, (Just ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "opc") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "LogicalOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "LogicalOp_AND") Unknown)) (Unknown, (Just ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "LogicalOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "LogicalOp_ORR") Unknown)) (Unknown, (Just ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "LogicalOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "LogicalOp_EOR") Unknown)) (Unknown, (Just ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "LogicalOp"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "LogicalOp_AND") Unknown)) (Unknown, (Just ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "sf") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv110")); (T_arg_nexp (Ne_var "'nv109"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv110")); (T_arg_nexp (Ne_var "'nv109"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv110")); (T_arg_nexp (Ne_var "'nv109"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv110")); (T_arg_nexp (Ne_var "'nv109"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv110")); (T_arg_nexp (Ne_var "'nv109"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "imm6") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num five) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const five))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_var "'nv91"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_var "'nv91"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_var "'nv91"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_var "'nv91"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_var "'nv91"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ReservedValue") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "ShiftType") Unknown)) Unknown) (Id_aux (Id "shift_type") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "ShiftType"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "DecodeShift") Unknown) [(E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant one) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant two) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "ShiftType"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "range") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant zero) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown)]) Unknown) (Id_aux (Id "shift_amount") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const sixtythree))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm6") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const six); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv112"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "invert") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "N") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_var "'nv126"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_var "'nv126"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_var "'nv126"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_var "'nv126"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_var "'nv126"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "LogicalShiftedRegister") Unknown) [ - (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "LogicalOp"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "shift_type") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "ShiftType"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "shift_amount") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const sixtythree))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "invert") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeDataSIMDFPoint1") Unknown) (P_aux (P_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "decodeDataSIMDFPoint1") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "Unallocated") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeDataSIMDFPoint2") Unknown) (P_aux (P_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "not_implemented") Unknown) [(E_aux (E_lit (L_aux (L_string "decodeDataSIMDFPoint2") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_app (Id_aux (Id "Unallocated") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeDataRegister") Unknown) (P_aux (P_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_case (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 10)); (T_arg_nexp (Ne_const 11)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeLogicalShiftedRegister") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 10)); (T_arg_nexp (Ne_const 11)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeAddSubtractShiftedRegister") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv61")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 10)); (T_arg_nexp (Ne_const 11)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeAddSubtractExtendedRegister") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const three); (Ne_add [(Ne_const three); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 10)); (T_arg_nexp (Ne_const 11)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeAddSubtractWithCarry") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv123")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const eight); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 10)); (T_arg_nexp (Ne_const 11)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeConditionalCompareRegister") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 10)); (T_arg_nexp (Ne_const 11)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeConditionalCompareImmediate") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 10)); (T_arg_nexp (Ne_const 11)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeConditionalSelect") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 10)); (T_arg_nexp (Ne_const 11)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeData3Source") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 10)); (T_arg_nexp (Ne_const 11)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeData2Source") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const 9)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 10)); (T_arg_nexp (Ne_const 11)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeData1Source") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeDataImmediate") Unknown) (P_aux (P_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_case (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 22)); (T_arg_nexp (Ne_const twentythree)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodePCRelAddressing") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv18")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const 19); (Ne_add [(Ne_const five); (Ne_const one)])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 22)); (T_arg_nexp (Ne_const twentythree)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeAddSubtractImmediate") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv37")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const 12); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 22)); (T_arg_nexp (Ne_const twentythree)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeLogicalImmediate") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv56")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const six); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 22)); (T_arg_nexp (Ne_const twentythree)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeMoveWideImmediate") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv75")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const two); (Ne_add [(Ne_const sixteen); (Ne_add [(Ne_const five); (Ne_const one)])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 22)); (T_arg_nexp (Ne_const twentythree)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeBitfield") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv94")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const six); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 22)); (T_arg_nexp (Ne_const twentythree)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeExtract") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv113")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeLoadsStores") Unknown) (P_aux (P_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_case (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeLoadStoreExclusive") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv42")); (T_arg_nexp (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeLoadRegisterLiteral") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv85")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const 19); (Ne_add [(Ne_const five); (Ne_const two)])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeLoadStoreNoAllocatePairOffset") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv128")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeLoadStoreRegisterPairPostIndexed") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv171")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeLoadStoreRegisterPairOffset") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv214")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeLoadStoreRegisterPairPreIndexed") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv257")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeLoadStoreRegisterUnscaledImmediate") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv300")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const 9); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeLoadStoreRegisterImmediatePostIndexed") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv343")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const 9); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeLoadStoreRegisterUnprivileged") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv386")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const 9); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeLoadStoreRegisterImmediatePreIndexed") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv429")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const 9); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeLoadStoreRegisterRegisterOffset") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv472")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeLoadStoreRegisterUnsignedImmediate") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv515")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const 12); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeAdvSIMDLoadStoreMultiStruct") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeAdvSIMDLoadStoreMultiStructPostIndexed") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeAdvSIMDLoadStoreSingleStruct") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 9)); (T_arg_nexp (Ne_const 10)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeAdvSIMDLoadStoreSingleStructPostIndexed") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeSystemImplementationDefined") Unknown) (P_aux (P_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_case (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 10)); (T_arg_nexp (Ne_const 11)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 11)); (T_arg_nexp (Ne_const 12)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeImplementationDefined") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 10)); (T_arg_nexp (Ne_const 11)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 11)); (T_arg_nexp (Ne_const 12)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeImplementationDefined") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 10)); (T_arg_nexp (Ne_const 11)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 11)); (T_arg_nexp (Ne_const 12)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeSystem") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [ ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decodeBranchesExceptionSystem") Unknown) (P_aux (P_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_case (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 21)); (T_arg_nexp (Ne_const 22)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeUnconditionalBranchImmediate") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv24")); (T_arg_nexp (Ne_add [(Ne_const five); (Ne_add [(Ne_const 26); (Ne_const one)])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 21)); (T_arg_nexp (Ne_const 22)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeCompareBranchImmediate") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const 19); (Ne_add [(Ne_const five); (Ne_const one)])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 21)); (T_arg_nexp (Ne_const 22)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeTestBranchImmediate") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv74")); (T_arg_nexp (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const 14); (Ne_add [(Ne_const five); (Ne_const one)])])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 21)); (T_arg_nexp (Ne_const 22)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeConditionalBranchImmediate") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv99")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const 19); (Ne_add [(Ne_const one); (Ne_add [(Ne_const four); (Ne_const seven)])])])])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 21)); (T_arg_nexp (Ne_const 22)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeExceptionGeneration") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 21)); (T_arg_nexp (Ne_const 22)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeSystemImplementationDefined") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 21)); (T_arg_nexp (Ne_const 22)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeUnconditionalBranchRegister") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux (Effect_opt_effect (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)) Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "decode") Unknown) (P_aux (P_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_case (E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const twentyfour)); (T_arg_nexp (Ne_const 25)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "Some") Unknown) [ - (E_aux (E_app (Id_aux (Id "Unallocated") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const twentyfour)); (T_arg_nexp (Ne_const 25)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeDataImmediate") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const twentyfour)); (T_arg_nexp (Ne_const 25)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeBranchesExceptionSystem") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const twentyfour)); (T_arg_nexp (Ne_const 25)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeLoadsStores") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux P_wild (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const twentyfour)); (T_arg_nexp (Ne_const 25)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeDataRegister") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const twentyfour)); (T_arg_nexp (Ne_const 25)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeDataSIMDFPoint1") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_vector_concat [(P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_vector [(P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const twentyfour)); (T_arg_nexp (Ne_const 25)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "decodeDataSIMDFPoint2") Unknown) [(E_aux (E_id (Id_aux (Id "machineCode") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_id (Id_aux (Id "unit") Unknown)) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "TMStart") Unknown) [(P_aux (P_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant seven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant eight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "nesting") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "TxNestingLevel") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "TxNestingLevel")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "nesting") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "<_u") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_field (E_aux (E_id (Id_aux (Id "TXIDR_EL0") Unknown)) (Unknown, (Just ((T_abbrev (T_id "TXIDR_EL0_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "DEPTH") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv8")); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "lt_vec_unsigned")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "TxNestingLevel") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "TxNestingLevel")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant seven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant eight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "nesting") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv20")); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv20")); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "TxNestingLevel")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "status") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "nesting") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "status") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "TMStartEffect") Unknown)) (Unknown, (Just ((T_abbrev (T_id "TMSTATUS_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "TMStartEffect")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "status") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "status") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_vector (LEXP_aux (LEXP_id (Id_aux (Id "status") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num 10) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const 10))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "TMAbortEffect") Unknown)) (Unknown, (Just ((T_abbrev (T_id "TMSTATUS_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "TMAbortEffect")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "status") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "TMAbortEffect")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "TMAbortEffect")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "TMCommit") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant seven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant eight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "nesting") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "TxNestingLevel") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "TxNestingLevel")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "nesting") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv62")); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "TMCommitEffect") Unknown) []) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "nesting") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv73")); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_UndefinedFault") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown); (BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "TxNestingLevel") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "TxNestingLevel")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant seven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant eight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "nesting") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv87")); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv87")); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "minus_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "TxNestingLevel")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "TxNestingLevel")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_barr Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_barr Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "TMTest") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "TxNestingLevel") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "TxNestingLevel")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id ">") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "gt_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wPSTATE_NZCV") Unknown) [(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wPSTATE_NZCV") Unknown) [(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "TMAbort") Unknown) [(P_aux (P_id (Id_aux (Id "retry") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "reason") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "TxNestingLevel") Unknown)) (Unknown, (Just ((T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), (Tag_extern (Just "TxNestingLevel")), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id ">") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "gt_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "status") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_vector_range - (LEXP_aux (LEXP_id (Id_aux (Id "status") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num four) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const four))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const four) (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "reason") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_vector - (LEXP_aux (LEXP_id (Id_aux (Id "status") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "retry") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_vector - (LEXP_aux (LEXP_id (Id_aux (Id "status") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num 9) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const 9))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "TMAbortEffect") Unknown)) (Unknown, (Just ((T_abbrev (T_id "TMSTATUS_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), (Tag_extern (Just "TMAbortEffect")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "status") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "TMAbortEffect")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "TMAbortEffect")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "CompareAndBranch") Unknown) [(P_aux (P_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "iszero") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "IsZero") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "iszero") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "BranchTo") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rPC") Unknown) []) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv152")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv153")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv152")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))));(E_aux (E_id (Id_aux (Id "BranchType_JMP") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "BranchConditional") Unknown) [(P_aux (P_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "condition") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app (Id_aux (Id "ConditionHolds") Unknown) [(E_aux (E_id (Id_aux (Id "condition") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "BranchTo") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rPC") Unknown) []) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv182")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv183")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv182")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))));(E_aux (E_id (Id_aux (Id "BranchType_JMP") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "GenerateExceptionEL1") Unknown) [(P_aux (P_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "AArch64_CallSupervisor") Unknown) [(E_aux (E_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "GenerateExceptionEL2") Unknown) [(P_aux (P_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "~") Unknown) [ - (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "EL2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv260")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv262")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv257")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv259")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app (Id_aux (Id "IsSecure") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown) (Id_aux (Id "hvc_enable") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_field (E_aux (E_id (Id_aux (Id "SCR_EL3") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SCRType") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "HCE") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "NOT'") Unknown) [(E_aux (E_field (E_aux (E_id (Id_aux (Id "HCR_EL2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "HCR_type") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "HCD") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "hvc_enable") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv279")); (T_arg_nexp (Ne_var "'nv278"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv279")); (T_arg_nexp (Ne_var "'nv278"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv279")); (T_arg_nexp (Ne_var "'nv278"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv279")); (T_arg_nexp (Ne_var "'nv278"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv279")); (T_arg_nexp (Ne_var "'nv278"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_UndefinedFault") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_CallHypervisor") Unknown) [(E_aux (E_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "GenerateExceptionEL3") Unknown) [(P_aux (P_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "~") Unknown) [ - (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv289")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv291")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "AArch64_CheckForSMCTrap") Unknown) [(E_aux (E_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_field (E_aux (E_id (Id_aux (Id "SCR_EL3") Unknown)) (Unknown, (Just ((T_abbrev (T_id "SCRType") (T_app "register" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "SMD") Unknown)) (Unknown, (Just ((T_id "bit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv308")); (T_arg_nexp (Ne_var "'nv307"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv308")); (T_arg_nexp (Ne_var "'nv307"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv308")); (T_arg_nexp (Ne_var "'nv307"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv308")); (T_arg_nexp (Ne_var "'nv307"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv308")); (T_arg_nexp (Ne_var "'nv307"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_UndefinedFault") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_CallSecureMonitor") Unknown) [(E_aux (E_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "DebugBreakpoint") Unknown) [(P_aux (P_id (Id_aux (Id "comment") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "AArch64_SoftwareBreakpoint") Unknown) [(E_aux (E_id (Id_aux (Id "comment") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "ExternalDebugBreakpoint") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "Halt") Unknown) [(E_aux (E_id (Id_aux (Id "DebugHalt_HaltInstruction") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "DebugSwitchToExceptionLevel") Unknown) [(P_aux (P_id (Id_aux (Id "target_level") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "DCPSInstruction") Unknown) [(E_aux (E_id (Id_aux (Id "target_level") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "MoveSystemImmediate") Unknown) [(P_aux (P_id (Id_aux (Id "operand") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "field") Unknown)) (Unknown, (Just ((T_id "PSTATEField"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_case (E_aux (E_id (Id_aux (Id "field") Unknown)) (Unknown, (Just ((T_id "PSTATEField"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "PSTATEField_SP") Unknown) []) (Unknown, (Just ((T_id "PSTATEField"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_SP") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "operand") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "SPSel")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "PSTATEField_DAIFSet") Unknown) []) (Unknown, (Just ((T_id "PSTATEField"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_D") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "PSTATE_D") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "operand") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_A") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "PSTATE_A") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "operand") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_I") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "PSTATE_I") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "operand") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_F") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "PSTATE_F") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "operand") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "PSTATEField_DAIFClr") Unknown) []) (Unknown, (Just ((T_id "PSTATEField"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_D") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "PSTATE_D") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app (Id_aux (Id "NOT'") Unknown) [ - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "operand") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num three) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const three))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_A") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "PSTATE_A") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app (Id_aux (Id "NOT'") Unknown) [ - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "operand") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_I") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "PSTATE_I") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app (Id_aux (Id "NOT'") Unknown) [ - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "operand") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "PSTATE_F") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "PSTATE_F") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app (Id_aux (Id "NOT'") Unknown) [ - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "operand") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), (Tag_extern (Just "DAIF")), [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "Hint") Unknown) [(P_aux (P_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "SystemHintOp"), (Tag_enum six), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_case (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "SystemHintOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "SystemHintOp_YIELD") Unknown) []) (Unknown, (Just ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "Hint_Yield") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "SystemHintOp_WFE") Unknown) []) (Unknown, (Just ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app (Id_aux (Id "EventRegistered") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ClearEventRegister") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv386")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv388")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_CheckForWFxTrap") Unknown) [ - (E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix - (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "EL2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix - (E_aux (E_app (Id_aux (Id "~") Unknown) [ - (E_aux (E_app (Id_aux (Id "IsSecure") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv454")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv456")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv451")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv453")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_CheckForWFxTrap") Unknown) [ - (E_aux (E_id (Id_aux (Id "EL2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix - (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv464")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "!=") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv466")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_CheckForWFxTrap") Unknown) [ - (E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_true Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "WaitForEvent") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "SystemHintOp_WFI") Unknown) []) (Unknown, (Just ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app (Id_aux (Id "~") Unknown) [ - (E_aux (E_app (Id_aux (Id "InterruptPending") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv469")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv471")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_CheckForWFxTrap") Unknown) [ - (E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix - (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "EL2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix - (E_aux (E_app (Id_aux (Id "~") Unknown) [ - (E_aux (E_app (Id_aux (Id "IsSecure") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv537")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL0") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv539")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv534")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "==") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL1") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv536")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_CheckForWFxTrap") Unknown) [ - (E_aux (E_id (Id_aux (Id "EL2") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix - (E_aux (E_app (Id_aux (Id "HaveEL") Unknown) [(E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "PSTATE_EL") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv547")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "!=") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv549")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "AArch64_CheckForWFxTrap") Unknown) [ - (E_aux (E_id (Id_aux (Id "EL3") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "WaitForInterrupt") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "SystemHintOp_SEV") Unknown) []) (Unknown, (Just ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "SendEvent") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "SystemHintOp_SEVL") Unknown) []) (Unknown, (Just ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "EventRegisterSet") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux P_wild (Unknown, (Just ((T_id "SystemHintOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "ClearExclusiveMonitor") Unknown) [(P_aux (P_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "ClearExclusiveLocal") Unknown) [ - (E_aux (E_app (Id_aux (Id "ProcessorID") Unknown) []) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "Barrier") Unknown) [(P_aux (P_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "MemBarrierOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "domain") Unknown)) (Unknown, (Just ((T_id "MBReqDomain"), (Tag_enum four), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "types") Unknown)) (Unknown, (Just ((T_id "MBReqTypes"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_case (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "MemBarrierOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MemBarrierOp_DSB") Unknown) []) (Unknown, (Just ((T_id "MemBarrierOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "DataSynchronizationBarrier") Unknown) [ - (E_aux (E_id (Id_aux (Id "domain") Unknown)) (Unknown, (Just ((T_id "MBReqDomain"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "types") Unknown)) (Unknown, (Just ((T_id "MBReqTypes"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_barr Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown); (BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MemBarrierOp_DMB") Unknown) []) (Unknown, (Just ((T_id "MemBarrierOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "DataMemoryBarrier") Unknown) [ - (E_aux (E_id (Id_aux (Id "domain") Unknown)) (Unknown, (Just ((T_id "MBReqDomain"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "types") Unknown)) (Unknown, (Just ((T_id "MBReqTypes"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_barr Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown); (BE_aux BE_escape Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MemBarrierOp_ISB") Unknown) []) (Unknown, (Just ((T_id "MemBarrierOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "InstructionSynchronizationBarrier") Unknown) []) (Unknown, (Just ((T_id "unit"), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_barr Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_barr Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "System") Unknown) [(P_aux (P_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "sys_op0") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "sys_op1") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "sys_op2") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "sys_crn") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "sys_crm") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "has_result") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_id (Id_aux (Id "has_result") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "SysOp_R") Unknown) [ - (E_aux (E_id (Id_aux (Id "sys_op0") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_op1") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_crn") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_crm") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "sys_op2") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "SysOp_W") Unknown) [ - (E_aux (E_id (Id_aux (Id "sys_op0") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_op1") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_crn") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_crm") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_op2") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "MoveSystemRegister") Unknown) [(P_aux (P_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "sys_op0") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "sys_op1") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "sys_op2") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "sys_crn") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "sys_crm") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "read") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_id (Id_aux (Id "read") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "System_Get") Unknown) [ - (E_aux (E_id (Id_aux (Id "sys_op0") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_op1") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_crn") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_crm") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "sys_op2") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "System_Put") Unknown) [ - (E_aux (E_id (Id_aux (Id "sys_op0") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_op1") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_crn") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_crm") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "sys_op2") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "ImplementationDefinedTestBeginEnd") Unknown) [(P_aux (P_id (Id_aux (Id "isEnd") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_id (Id_aux (Id "isEnd") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "info") Unknown) [(E_aux (E_lit (L_aux (L_string "test ends") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "info") Unknown) [(E_aux (E_lit (L_aux (L_string "test begins") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "ImplementationDefinedStopFetching") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "info") Unknown) [(E_aux (E_lit (L_aux (L_string "stop fetching instructions") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "ImplementationDefinedThreadStart") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "info") Unknown) [(E_aux (E_lit (L_aux (L_string "thread start") Unknown)) (Unknown, (Just ((T_id "string"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "TestBitAndBranch") Unknown) [(P_aux (P_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "bit_pos") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "bit_val") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_vector_access - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "bit_pos") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "bit_val") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "BranchTo") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rPC") Unknown) []) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv591")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv592")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv591")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))));(E_aux (E_id (Id_aux (Id "BranchType_JMP") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "BranchImmediate") Unknown) [(P_aux (P_id (Id_aux (Id "branch_type") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "branch_type") Unknown)) (Unknown, (Just ((T_id "BranchType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "BranchType_CALL") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_lit (L_aux (L_num thirty) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirty))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rPC") Unknown) []) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv641")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_lit (L_aux (L_num four) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const four))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv641")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "BranchTo") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rPC") Unknown) []) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv663")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv664")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv663")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))));(E_aux (E_id (Id_aux (Id "branch_type") Unknown)) (Unknown, (Just ((T_id "BranchType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "BranchRegister") Unknown) [(P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "branch_type") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "target") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "branch_type") Unknown)) (Unknown, (Just ((T_id "BranchType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "BranchType_CALL") Unknown)) (Unknown, (Just ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_lit (L_aux (L_num thirty) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirty))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rPC") Unknown) []) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv714")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_lit (L_aux (L_num four) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const four))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv714")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "BranchTo") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "target") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "branch_type") Unknown)) (Unknown, (Just ((T_id "BranchType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "ExceptionReturn") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "AArch64_ExceptionReturn") Unknown) [ - (E_aux (E_app (Id_aux (Id "rELR'") Unknown) []) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "rSPSR") Unknown) []) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "DebugRestorePState") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "DRPSInstruction") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "LoadLiteral") Unknown) [(P_aux (P_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "_signed") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rPC") Unknown) []) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv742")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv743")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv742")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MemOp_LOAD") Unknown) []) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "flush_read_buffer") Unknown) [ - (E_aux (E_app (Id_aux (Id "rMem") Unknown) [ - (E_aux (E_id (Id_aux (Id "empty_read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "AccType_NORMAL") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 11), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))));(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv767") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv767") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rmem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "_signed") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "SignExtend") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MemOp_PREFETCH") Unknown) []) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "Prefetch") Unknown) [(E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num five) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const five))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "LoadStoreAcqExc") Unknown) [(P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "s") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 12), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "excl") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "pair") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "elsize") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "regsize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "quot") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv781"))])), (Tag_extern (Just "quot")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "rt_unknown") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "rn_unknown") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "MemOp_LOAD") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "pair") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "MemOp_STORE") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) (E_aux (E_id (Id_aux (Id "excl") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "s") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "pair") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "s") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "s") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown) (Id_aux (Id "status") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "MemOp_STORE") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) (E_aux (E_id (Id_aux (Id "excl") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "status") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app (Id_aux (Id "speculate_exclusive_success") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), (Tag_extern Nothing), [], (Effect_aux (Effect_set [(BE_aux BE_exmem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_exmem Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_exmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_exmem Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "s") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [(E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_id (Id_aux (Id "status") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const one); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_exmem Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_exmem Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_case (E_aux (E_id (Id_aux (Id "status") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1049")); (T_arg_nexp (Ne_var "'nv1048"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1049")); (T_arg_nexp (Ne_var "'nv1048"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1049")); (T_arg_nexp (Ne_var "'nv1048"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1049")); (T_arg_nexp (Ne_var "'nv1048"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1049")); (T_arg_nexp (Ne_var "'nv1048"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "CheckSPAlignment") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rSP") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_id (Id_aux (Id "rn_unknown") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MemOp_STORE") Unknown) []) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "wMem_Addr") Unknown) [ - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "excl") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "rt_unknown") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_id (Id_aux (Id "pair") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_id (Id_aux (Id "excl") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "el1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_id (Id_aux (Id "regsize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "el2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "el1") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app (Id_aux (Id "BigEndian") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "el1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1069")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "el2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1071")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_var "'R"); (Ne_var "'R")]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_var "'R")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "el2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1073")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "el1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1075")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_var "'R"); (Ne_var "'R")]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_var "'R")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "excl") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown) (Id_aux (Id "status") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "AArch64_ExclusiveMonitorsPass") Unknown) [ - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "status") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "flush_write_buffer_exclusive") Unknown) [ - (E_aux (E_app (Id_aux (Id "wMem_exclusive") Unknown) [ - (E_aux (E_id (Id_aux (Id "empty_write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv1077") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv1077") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "bool") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "flush_write_buffer") Unknown) [ - (E_aux (E_app (Id_aux (Id "wMem") Unknown) [ - (E_aux (E_id (Id_aux (Id "empty_write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv1078") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv1078") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MemOp_LOAD") Unknown) []) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_id (Id_aux (Id "excl") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "AArch64_SetExclusiveMonitors") Unknown) [ - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "pair") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assert (E_aux (E_id (Id_aux (Id "excl") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "None") Unknown) []) (Unknown, (Just ((T_fn (T_id "unit") (T_app "option" (T_args [(T_arg_typ (T_id "string"))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "rt_unknown") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "elsize") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "flush_read_buffer") Unknown) [ - (E_aux (E_app (Id_aux (Id "rMem_exclusive") Unknown) [ - (E_aux (E_id (Id_aux (Id "empty_read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))));(E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv1093") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv1093") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rmem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "BigEndian") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv1105") (Ne_var "'nv1106")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "elsize") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1099")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv1099") (Ne_var "'nv1100")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv1099") (Ne_var "'nv1100")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv1099") (Ne_var "'nv1100")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "elsize") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv1139") (Ne_var "'nv1140")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1135")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv1135") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv1135") (Ne_const zero)); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv1135") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "elsize") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv1173") (Ne_var "'nv1174")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1169")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv1169") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv1169") (Ne_const zero)); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv1169") (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv1209") (Ne_var "'nv1210")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "elsize") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1203")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv1203") (Ne_var "'nv1204")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_var "'nv1203") (Ne_var "'nv1204")); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv1203") (Ne_var "'nv1204")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1236")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "Align") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1238")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign - (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "secondstage") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "AArch64_Abort") Unknown) [ - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "AArch64_AlignmentFault") Unknown) [ - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "iswrite") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "secondstage") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "FaultRecord"), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "read_buffer_type") Unknown)) Unknown) (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "read_buffer_type"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rMem_exclusive") Unknown) [ - (E_aux (E_id (Id_aux (Id "empty_read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1252")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1252")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "read_buffer_type"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rMem_exclusive") Unknown) [ - (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "read_buffer_type"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1283")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1283")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyseven) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant onetwentyeight) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app (Id_aux (Id "flush_read_buffer") Unknown) [ - (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "read_buffer_type"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app_infix (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv1307") (Ne_var "'nv1308")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv1302") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv1302") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rmem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rmem Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num sixtythree) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtythree))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const sixtythree) (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_const sixtythree) (Ne_const zero)); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const sixtythree) (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_id (Id_aux (Id "value") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num onetwentyseven) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const onetwentyseven))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "flush_read_buffer") Unknown) [ - (E_aux (E_app (Id_aux (Id "rMem'") Unknown) [ - (E_aux (E_id (Id_aux (Id "empty_read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "excl") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))));(E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv1333") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv1333") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rmem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [(E_aux (E_id (Id_aux (Id "regsize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_eamem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_eamem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_eamem Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_exmem Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_eamem Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_exmem Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "LoadStorePairNonTemp") Unknown) [(P_aux (P_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 12), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "scale") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "data2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "quot") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv1346"))])), (Tag_extern (Just "quot")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "rt_unknown") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "MemOp_LOAD") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "CheckSPAlignment") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rSP") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1421")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1422")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1421")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "MemOp_STORE") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem_Addr") Unknown) [(E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv1460") (Ne_var "'nv1461")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "address'") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1479")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1480")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1479")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_var "fresh_v"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wSP") Unknown) [(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address'") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address'") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MemOp_STORE") Unknown) []) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "rt_unknown") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "rt_unknown") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "write_buffer_type") Unknown)) Unknown) (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "write_buffer_type"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem") Unknown) [(E_aux (E_id (Id_aux (Id "empty_write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1581")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1581")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv1569") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv1569") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "write_buffer_type"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem") Unknown) [(E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "write_buffer_type"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1610")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1610")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv1600") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv1600") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "flush_write_buffer") Unknown) [(E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "write_buffer_type"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MemOp_LOAD") Unknown) []) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "read_buffer_type") Unknown)) Unknown) (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "read_buffer_type"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rMem") Unknown) [ - (E_aux (E_id (Id_aux (Id "empty_read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1641")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1641")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "read_buffer_type"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rMem") Unknown) [(E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "read_buffer_type"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1670")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1670")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown) (Nexp_aux (Nexp_constant two) Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown) (Nexp_aux (Nexp_constant two) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "read_data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'D") (Ne_const two)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'D") (Ne_const two))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "flush_read_buffer") Unknown) [ - (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "read_buffer_type"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv1692") (Ne_var "'nv1693")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv1689") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv1689") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rmem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'D") (Ne_const two)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'D") (Ne_const two))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rmem Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "read_data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'D") (Ne_const two)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'D") (Ne_const two))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'D") (Ne_const two)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'D") (Ne_const two))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv1715") (Ne_var "'nv1716")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1709")); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "read_data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'D") (Ne_const two)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'D") (Ne_const two))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'D") (Ne_const two)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'D") (Ne_const two))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv1798") (Ne_var "'nv1799")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv1768") (Ne_var "'nv1769")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv1744")); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "rt_unknown") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_wreg Unknown); (BE_aux BE_eamem Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_wreg Unknown); (BE_aux BE_eamem Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "LoadImmediate") Unknown) [(P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 12), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "_signed") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "regsize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "wb_unknown") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "rt_unknown") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "MemOp_LOAD") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "MemOp_STORE") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_id (Id_aux (Id "MemOp_PREFETCH") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "CheckSPAlignment") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rSP") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2303")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2304")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2303")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "MemOp_STORE") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem_Addr") Unknown) [(E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "quot") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv2346"))])), (Tag_extern (Just "quot")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "address'") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2360")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2361")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2360")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_var "fresh_v"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wSP") Unknown) [(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address'") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address'") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MemOp_STORE") Unknown) []) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_id (Id_aux (Id "rt_unknown") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "flush_write_buffer") Unknown) [ - (E_aux (E_app (Id_aux (Id "wMem") Unknown) [(E_aux (E_id (Id_aux (Id "empty_write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "quot") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv2408"))])), (Tag_extern (Just "quot")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv2401") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv2401") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MemOp_LOAD") Unknown) []) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "flush_read_buffer") Unknown) [ - (E_aux (E_app (Id_aux (Id "rMem") Unknown) [ - (E_aux (E_id (Id_aux (Id "empty_read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "quot") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv2440"))])), (Tag_extern (Just "quot")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "quot") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv2424"))])), (Tag_extern (Just "quot")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv2417") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv2417") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rmem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "_signed") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "SignExtend") Unknown) [(E_aux (E_id (Id_aux (Id "regsize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [(E_aux (E_id (Id_aux (Id "regsize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MemOp_PREFETCH") Unknown) []) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "Prefetch") Unknown) [(E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num five) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const five))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_wreg Unknown); (BE_aux BE_eamem Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_wreg Unknown); (BE_aux BE_eamem Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "LoadRegister") Unknown) [(P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 12), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "_signed") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "extend_type") Unknown)) (Unknown, (Just ((T_id "ExtendType"), (Tag_enum eight), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "regsize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "ExtendReg") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "extend_type") Unknown)) (Unknown, (Just ((T_id "ExtendType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "wb_unknown") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "rt_unknown") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "MemOp_LOAD") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "MemOp_STORE") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_id (Id_aux (Id "MemOp_PREFETCH") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "CheckSPAlignment") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rSP") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2946")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2947")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv2946")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "MemOp_STORE") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem_Addr") Unknown) [(E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "quot") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv2989"))])), (Tag_extern (Just "quot")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "address'") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3003")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3004")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv3003")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_var "fresh_v"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wSP") Unknown) [(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address'") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address'") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MemOp_STORE") Unknown) []) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_id (Id_aux (Id "rt_unknown") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "flush_write_buffer") Unknown) [ - (E_aux (E_app (Id_aux (Id "wMem") Unknown) [(E_aux (E_id (Id_aux (Id "empty_write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "quot") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv3051"))])), (Tag_extern (Just "quot")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv3044") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv3044") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MemOp_LOAD") Unknown) []) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "flush_read_buffer") Unknown) [ - (E_aux (E_app (Id_aux (Id "rMem") Unknown) [ - (E_aux (E_id (Id_aux (Id "empty_read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "quot") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv3083"))])), (Tag_extern (Just "quot")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "quot") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv3067"))])), (Tag_extern (Just "quot")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv3060") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv3060") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rmem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "_signed") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "SignExtend") Unknown) [(E_aux (E_id (Id_aux (Id "regsize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "ZeroExtend") Unknown) [(E_aux (E_id (Id_aux (Id "regsize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MemOp_PREFETCH") Unknown) []) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "Prefetch") Unknown) [(E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num five) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const five))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_wreg Unknown); (BE_aux BE_eamem Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_wreg Unknown); (BE_aux BE_eamem Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "LoadStorePair") Unknown) [(P_aux (P_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), (Tag_enum 12), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "_signed") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "data2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "quot") Unknown) (E_aux (E_lit (L_aux (L_num eight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const eight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv3106"))])), (Tag_extern (Just "quot")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "rt_unknown") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "boolean") Unknown)) Unknown) (Id_aux (Id "wb_unknown") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "MemOp_LOAD") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "MemOp_STORE") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_or_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "!=") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "neq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "MemOp_LOAD") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_app (Id_aux (Id "CheckSPAlignment") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rSP") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4197")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4198")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4197")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "MemOp_STORE") Unknown)) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem_Addr") Unknown) [(E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv4236") (Ne_var "'nv4237")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_false Unknown)) (Unknown, (Just ((T_id "bool"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_eamem Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "wback") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_id (Id_aux (Id "address'") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "postindex") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4255")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "offset") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4256")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4255")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_var "fresh_v"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wSP") Unknown) [(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address'") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address'") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "memop") Unknown)) (Unknown, (Just ((T_id "MemOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MemOp_STORE") Unknown) []) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "rt_unknown") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "rt_unknown") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "write_buffer_type") Unknown)) Unknown) (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "write_buffer_type"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem") Unknown) [(E_aux (E_id (Id_aux (Id "empty_write_buffer") Unknown)) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4357")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4357")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv4345") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv4345") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "write_buffer_type"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "wMem") Unknown) [(E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "write_buffer_type"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4386")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4386")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv4376") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv4376") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_app (Id_aux (Id "flush_write_buffer") Unknown) [(E_aux (E_id (Id_aux (Id "write_buffer") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "write_buffer_type"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_wmv Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "MemOp_LOAD") Unknown) []) (Unknown, (Just ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "read_buffer_type") Unknown)) Unknown) (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "read_buffer_type"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rMem") Unknown) [ - (E_aux (E_id (Id_aux (Id "empty_read_buffer") Unknown)) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4417")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4417")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "read_buffer_type"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rMem") Unknown) [(E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "read_buffer_type"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "address") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4446")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4446")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "acctype") Unknown)) (Unknown, (Just ((T_id "AccType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown) (Nexp_aux (Nexp_constant two) Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_times (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown) (Nexp_aux (Nexp_constant two) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "read_data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'D") (Ne_const two)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'D") (Ne_const two))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "flush_read_buffer") Unknown) [ - (E_aux (E_id (Id_aux (Id "read_buffer") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "read_buffer_type"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "dbytes") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv4468") (Ne_var "'nv4469")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'nv4465") (Ne_const eight)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'nv4465") (Ne_const eight))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rmem Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'D") (Ne_const two)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'D") (Ne_const two))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rmem Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rmem Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "read_data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'D") (Ne_const two)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'D") (Ne_const two))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'D") (Ne_const two)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'D") (Ne_const two))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv4491") (Ne_var "'nv4492")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4485")); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "read_data") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'D") (Ne_const two)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'D") (Ne_const two))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_var "'D") (Ne_const two)); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_var "'D") (Ne_const two))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv4574") (Ne_var "'nv4575")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv4544") (Ne_var "'nv4545")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4520")); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "rt_unknown") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_id "boolean") (T_id "bit")))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "data2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "UNKNOWN") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "_signed") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "SignExtend") Unknown) [ - (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "SignExtend") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "t2") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "data2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_escape Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_wreg Unknown); (BE_aux BE_eamem Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rmem Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_wreg Unknown); (BE_aux BE_eamem Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "AddSubImmediate") Unknown) [(P_aux (P_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rSP") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown) (Id_aux (Id "carry_in") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "NOT") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "carry_in") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "carry_in") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "nzcv") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_app (Id_aux (Id "AddWithCarry") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "carry_in") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "0v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "1v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_tuple [(E_aux (E_id (Id_aux (Id "0v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "1v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wPSTATE_NZCV") Unknown) [(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "nzcv") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wSP") Unknown) [(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "BitfieldMove") Unknown) [(P_aux (P_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "inzero") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "extend") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "R") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "S") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "wmask") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "tmask") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "dst") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_id (Id_aux (Id "inzero") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "Zeros") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "src") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "bot") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "dst") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4669")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "NOT") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "wmask") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4669")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4669")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_and")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4662")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "ROR") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "src") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "R") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4665")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "wmask") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4665")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4665")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_and")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4662")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4662")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_or")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "top") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_id (Id_aux (Id "extend") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "Replicate") Unknown) [(E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "bot") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_vector_access (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "src") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "S") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const one); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "dst") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "top") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4689")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "NOT") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "tmask") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4689")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4689")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_and")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4684")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "bot") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4686")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "tmask") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4686")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4686")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_and")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4684")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4684")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_or")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "ExtractRegister") Unknown) [(P_aux (P_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "lsb") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_times (Nexp_aux (Nexp_constant two) Unknown) (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_times (Nexp_aux (Nexp_constant two) Unknown) (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "concat") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_const two) (Ne_var "'R")); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_const two) (Ne_var "'R"))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4697")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4699")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_var "'R"); (Ne_var "'R")]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_var "'R")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_const two) (Ne_var "'R")); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_const two) (Ne_var "'R"))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "concat") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_const two) (Ne_var "'R")); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_const two) (Ne_var "'R"))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_mult (Ne_const two) (Ne_var "'R")); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_mult (Ne_const two) (Ne_var "'R"))); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "lsb") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv4767"); (Ne_var "'nv4768")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv4739") (Ne_var "'nv4740")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "lsb") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4703")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "LogicalImmediate") Unknown) [(P_aux (P_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "LogicalOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "LogicalOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "LogicalOp_AND") Unknown) []) (Unknown, (Just ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4799")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4799")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4799")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_and")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "LogicalOp_ORR") Unknown) []) (Unknown, (Just ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4801")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4801")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4801")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_or")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "LogicalOp_EOR") Unknown) []) (Unknown, (Just ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4803")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "^") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4803")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4803")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_xor")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wPSTATE_NZCV") Unknown) [(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_vector_access - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix - (E_aux (E_app (Id_aux (Id "length") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4844")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv4818") (Ne_var "'nv4819")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4806")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_app (Id_aux (Id "IsZeroBit") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4847")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4849")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const one); (Ne_const two)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_const two)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4808")); (T_arg_nexp (Ne_var "'nv4807")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const one); (Ne_var "'nv4807")]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_var "'nv4807")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wSP") Unknown) [(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "MoveWide") Unknown) [(P_aux (P_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "pos") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "opcode") Unknown)) (Unknown, (Just ((T_id "MoveWideOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "opcode") Unknown)) (Unknown, (Just ((T_id "MoveWideOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "MoveWideOp_K") Unknown)) (Unknown, (Just ((T_id "MoveWideOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "Zeros") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_vector_range (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "pos") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_lit (L_aux (L_num fifteen) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const fifteen))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv4904"); (Ne_var "'nv4905")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "pos") Unknown)) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4901")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv4901") (Ne_var "'nv4900")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4901")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv4901") (Ne_var "'nv4900")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "opcode") Unknown)) (Unknown, (Just ((T_id "MoveWideOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "MoveWideOp_N") Unknown)) (Unknown, (Just ((T_id "MoveWideOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "NOT") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "Address") Unknown) [(P_aux (P_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "page") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtythree) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant sixtyfour) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "base") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rPC") Unknown) []) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "page") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_vector_range (LEXP_aux (LEXP_id (Id_aux (Id "base") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num 11) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const 11))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const 11)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const 11) (Ne_const zero)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "Zeros") Unknown) [(E_aux (E_lit (L_aux (L_num 12) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const 12))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const 12); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const 12)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "base") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4956")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4957")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv4956")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "AddSubExtendRegister") Unknown) [(P_aux (P_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "extend_type") Unknown)) (Unknown, (Just ((T_id "ExtendType"), (Tag_enum eight), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const seven))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rSP") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "ExtendReg") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "extend_type") Unknown)) (Unknown, (Just ((T_id "ExtendType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "shift") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const seven))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown) (Id_aux (Id "carry_in") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "NOT") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "carry_in") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "carry_in") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "nzcv") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_app (Id_aux (Id "AddWithCarry") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "carry_in") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "2v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "3v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_tuple [(E_aux (E_id (Id_aux (Id "2v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "3v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wPSTATE_NZCV") Unknown) [(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "nzcv") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num thirtyone) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtyone))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_app (Id_aux (Id "~") Unknown) [(E_aux (E_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_and_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wSP") Unknown) [(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "AddSubShiftedRegister") Unknown) [(P_aux (P_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "shift_type") Unknown)) (Unknown, (Just ((T_id "ShiftType"), (Tag_enum four), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "shift_amount") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const sixtythree))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "ShiftReg") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "shift_type") Unknown)) (Unknown, (Just ((T_id "ShiftType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "shift_amount") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const sixtythree))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown) (Id_aux (Id "carry_in") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "NOT") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "carry_in") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "carry_in") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "nzcv") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_app (Id_aux (Id "AddWithCarry") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "carry_in") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "4v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "5v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_tuple [(E_aux (E_id (Id_aux (Id "4v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "5v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wPSTATE_NZCV") Unknown) [(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "nzcv") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "AddSubCarry") Unknown) [(P_aux (P_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "NOT") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "nzcv") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_app (Id_aux (Id "AddWithCarry") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "PSTATE_C") Unknown)) (Unknown, (Just ((T_id "bit"), Tag_alias, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "6v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "7v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_tuple [(E_aux (E_id (Id_aux (Id "6v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "7v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wPSTATE_NZCV") Unknown) [(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "nzcv") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "ConditionalCompareImmediate") Unknown) [(P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "condition") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "flags") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "imm") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown) (Id_aux (Id "carry_in") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "flags'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "flags") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "ConditionHolds") Unknown) [(E_aux (E_id (Id_aux (Id "condition") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "NOT") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "carry_in") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_tup [(P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "nzcv") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_app (Id_aux (Id "AddWithCarry") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "carry_in") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "8v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "9v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_tuple [(E_aux (E_id (Id_aux (Id "8v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "9v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "flags'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "nzcv") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wPSTATE_NZCV") Unknown) [(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "flags'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "ConditionalCompareRegister") Unknown) [(P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "condition") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "flags") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown) (Id_aux (Id "carry_in") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "flags'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "flags") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "ConditionHolds") Unknown) [(E_aux (E_id (Id_aux (Id "condition") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "NOT") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "carry_in") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_let (LB_aux (LB_val_implicit (P_aux (P_tup [(P_aux P_wild (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "nzcv") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_case (E_aux (E_app (Id_aux (Id "AddWithCarry") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "carry_in") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_tup [(P_aux (P_id (Id_aux (Id "10v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "11v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_tuple [(E_aux (E_id (Id_aux (Id "10v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "11v") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_tup [(T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])); (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))]))]), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "flags'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "nzcv") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wPSTATE_NZCV") Unknown) [(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) (E_aux (E_id (Id_aux (Id "flags'") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "ConditionalSelect") Unknown) [(P_aux (P_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "condition") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "else_inv") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "else_inc") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "ConditionHolds") Unknown) [(E_aux (E_id (Id_aux (Id "condition") Unknown)) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "else_inv") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "NOT") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "else_inc") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5077")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5077")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "add_vec_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "Reverse") Unknown) [(P_aux (P_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "RevOp"), (Tag_enum four), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant five) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant six) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "V") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num six) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const six))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "RevOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "RevOp_REV16") Unknown) []) (Unknown, (Just ((T_id "RevOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "V") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "RevOp_REV32") Unknown) []) (Unknown, (Just ((T_id "RevOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "V") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "RevOp_REV64") Unknown) []) (Unknown, (Just ((T_id "RevOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "V") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "RevOp_RBIT") Unknown) []) (Unknown, (Just ((T_id "RevOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "V") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq_range")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_for (Id_aux (Id "vbit") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num five) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const five))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Ord_aux Ord_inc Unknown) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app_infix (E_aux (E_case - (E_aux (E_vector_access (E_aux (E_id (Id_aux (Id "V") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "vbit") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const five))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5135")); (T_arg_nexp (Ne_var "'nv5134"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5135")); (T_arg_nexp (Ne_var "'nv5134"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5135")); (T_arg_nexp (Ne_var "'nv5134"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5135")); (T_arg_nexp (Ne_var "'nv5134"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_var "'nv5135")); (T_arg_nexp (Ne_var "'nv5134"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "tmp") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "vsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "lsl") Unknown) [ - (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "vbit") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const five))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv5139") (Ne_exp (Ne_var "'nv5140"))))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_for (Id_aux (Id "base") Unknown) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv5148") (Ne_var "'nv5149")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_id (Id_aux (Id "vsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv5176") (Ne_var "'nv5177")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Ord_aux Ord_inc Unknown) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux - (LEXP_vector_range - (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "base") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv5142"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_id (Id_aux (Id "vsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5250"); (Ne_var "'nv5251")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv5224") (Ne_var "'nv5225")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "base") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv5142"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5191")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv5191") (Ne_var "'nv5190")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "tmp") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "base") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv5142"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_app_infix (E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_id (Id_aux (Id "vsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv5424") (Ne_var "'nv5425")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5394"); (Ne_var "'nv5395")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv5350") (Ne_var "'nv5351")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "base") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv5142"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_id (Id_aux (Id "vsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5438"); (Ne_var "'nv5439")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5282")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv5191") (Ne_var "'nv5190")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5191")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv5191") (Ne_var "'nv5190")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_vector_range - (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "base") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv5142"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_app_infix (E_aux (E_lit (L_aux (L_num two) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const two))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) (E_aux (E_id (Id_aux (Id "vsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv5608") (Ne_var "'nv5609")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5578"); (Ne_var "'nv5579")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv5534") (Ne_var "'nv5535")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "base") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv5142"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_id (Id_aux (Id "vsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5622"); (Ne_var "'nv5623")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5467")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv5467") (Ne_var "'nv5466")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "tmp") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "base") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv5142"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) (E_aux (E_id (Id_aux (Id "vsize") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5714"); (Ne_var "'nv5715")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv5688") (Ne_var "'nv5689")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_id (Id_aux (Id "base") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv5142"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5654")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv5467") (Ne_var "'nv5466")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5467")); (T_arg_nexp (Ne_add [(Ne_minus (Ne_var "'nv5467") (Ne_var "'nv5466")); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "CountLeading") Unknown) [(P_aux (P_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "opcode") Unknown)) (Unknown, (Just ((T_id "CountOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "uinteger") Unknown)) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "opcode") Unknown)) (Unknown, (Just ((T_id "CountOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "==") Unknown) (E_aux (E_id (Id_aux (Id "CountOp_CLZ") Unknown)) (Unknown, (Just ((T_id "CountOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "eq")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "CountLeadingZeroBits") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'R"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "CountLeadingSignBits") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'R"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "uinteger") (T_id "nat")) (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "Division") Unknown) [(P_aux (P_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "integer") Unknown)) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_app (Id_aux (Id "IsZero") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "Int") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "quot") Unknown) - (E_aux (E_app (Id_aux (Id "Int") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv5769"))])), (Tag_extern (Just "quot")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "Shift") Unknown) [(P_aux (P_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "shift_type") Unknown)) (Unknown, (Just ((T_id "ShiftType"), (Tag_enum four), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "ShiftReg") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "shift_type") Unknown)) (Unknown, (Just ((T_id "ShiftType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "UInt") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv5799"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "mod") Unknown) (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_minus (Ne_var "'nv5792") (Ne_const one)))])), (Tag_extern (Just "modulo")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "CRC") Unknown) [(P_aux (P_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "crc32c") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_if (E_aux (E_app (Id_aux (Id "~") Unknown) [ - (E_aux (E_app (Id_aux (Id "HaveCRCExt") Unknown) []) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), (Tag_extern (Just "bitwise_not_bit")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "UnallocatedEncoding") Unknown) []) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_escape Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtyone) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtytwo) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "acc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "_val") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_id (Id_aux (Id "size") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtyone) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant thirtytwo) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "poly") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_if (E_aux (E_id (Id_aux (Id "crc32c") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_one Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_constant thirtytwo) Unknown) (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_constant thirtytwo) Unknown) (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "tempacc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_const thirtytwo); (Ne_var "'D")]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_var "'D")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "BitReverse") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "acc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5808")); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "Zeros") Unknown) [(E_aux (E_app (Id_aux (Id "length") Unknown) [(E_aux (E_id (Id_aux (Id "_val") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), (Tag_extern (Just "length")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const thirtytwo); (Ne_var "'D")]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_var "'D")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_const thirtytwo); (Ne_var "'D")]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_var "'D")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown) (Nexp_aux (Nexp_constant thirtytwo) Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown) (Nexp_aux (Nexp_constant thirtytwo) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "tempval") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'D"); (Ne_const thirtytwo)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const thirtytwo)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "BitReverse") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "_val") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5814")); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "Zeros") Unknown) [(E_aux (E_lit (L_aux (L_num thirtytwo) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const thirtytwo))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_var "'D"); (Ne_const thirtytwo)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const thirtytwo)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'D"); (Ne_const thirtytwo)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const thirtytwo)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "BitReverse") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "Poly32Mod2") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "tempacc") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_const thirtytwo); (Ne_var "'D")]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_var "'D")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5822")); (T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_var "'D")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "^") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "tempval") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'D"); (Ne_const thirtytwo)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const thirtytwo)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5822")); (T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_var "'D")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv5822")); (T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_var "'D")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_xor")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_const thirtytwo); (Ne_var "'D")]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_var "'D")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "poly") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_rreg Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "MultiplyAddSub") Unknown) [(P_aux (P_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "a") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "destsize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand3") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_id (Id_aux (Id "destsize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "a") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "integer") Unknown)) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "UInt") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand3") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv5914"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "UInt") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv5912"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv5910"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv5895") (Ne_var "'nv5896")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv5861") (Ne_var "'nv5862")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "UInt") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand3") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv6002"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "UInt") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv6000"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) - (E_aux (E_app (Id_aux (Id "UInt") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'nv5998"))])), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv5983") (Ne_var "'nv5984")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5947"); (Ne_var "'nv5948")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_id (Id_aux (Id "destsize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "MultiplyAddSubLong") Unknown) [(P_aux (P_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "a") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "destsize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand3") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_id (Id_aux (Id "destsize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "a") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "integer") Unknown)) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "sub_op") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "Int") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand3") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "Int") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) - (E_aux (E_app (Id_aux (Id "Int") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv6058") (Ne_var "'nv6059")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv6030") (Ne_var "'nv6031")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "Int") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand3") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "+") Unknown) - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "Int") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) - (E_aux (E_app (Id_aux (Id "Int") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv6126") (Ne_var "'nv6127")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv6096"); (Ne_var "'nv6097")]))])), (Tag_extern (Just "add")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "MultiplyHigh") Unknown) [(P_aux (P_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "a") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "destsize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_id (Id_aux (Id "destsize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [(E_aux (E_id (Id_aux (Id "destsize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_id (Id_aux (Id "integer") Unknown)) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_app (Id_aux (Id "Int") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "*") Unknown) - (E_aux (E_app (Id_aux (Id "Int") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "_unsigned") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_mult (Ne_var "'nv6150") (Ne_var "'nv6151")))])), (Tag_extern (Just "multiply")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_subrange (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [ - (E_aux (E_lit (L_aux (L_num onetwentyeight) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const onetwentyeight))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_abbrev (T_abbrev (T_id "integer") (T_id "int")) (T_app "range" (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num onetwentyseven) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const onetwentyseven))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (E_aux (E_lit (L_aux (L_num sixtyfour) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const sixtyfour))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)]); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_add [(Ne_minus (Ne_const onetwentyseven) (Ne_const sixtyfour)); (Ne_const one)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;(FCL_aux (FCL_Funcl (Id_aux (Id "execute") Unknown) (P_aux (P_app (Id_aux (Id "LogicalShiftedRegister") Unknown) [(P_aux (P_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "LogicalOp"), (Tag_enum three), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "shift_type") Unknown)) (Unknown, (Just ((T_id "ShiftType"), (Tag_enum four), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "shift_amount") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const sixtythree))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); (P_aux (P_id (Id_aux (Id "invert") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "rX") Unknown) [ - (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "n") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "ShiftReg") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "m") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_id (Id_aux (Id "shift_type") Unknown)) (Unknown, (Just ((T_id "ShiftType"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_id (Id_aux (Id "shift_amount") Unknown)) (Unknown, (Just ((T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const sixtythree))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "invert") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "NOT") Unknown) [(E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_sum (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown) (Nexp_aux (Nexp_constant (zero - 1)) Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app (Id_aux (Id "to_vec_dec") Unknown) [(E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux (L_num zero) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const zero))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "to_vec_dec")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_intro, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))); - (E_aux (E_case (E_aux (E_id (Id_aux (Id "op") Unknown)) (Unknown, (Just ((T_id "LogicalOp"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "LogicalOp_AND") Unknown) []) (Unknown, (Just ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv6177")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "&") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv6177")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv6177")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_and")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "LogicalOp_ORR") Unknown) []) (Unknown, (Just ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv6179")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "|") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv6179")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv6179")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_or")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) ; - (Pat_aux (Pat_exp (P_aux (P_app (Id_aux (Id "LogicalOp_EOR") Unknown) []) (Unknown, (Just ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_app_infix (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand1") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv6181")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "^") Unknown) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "operand2") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv6181")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv6181")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), (Tag_extern (Just "bitwise_xor")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_set, [], (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_lset Unknown) ]) Unknown))))); - (E_aux (E_if (E_aux (E_id (Id_aux (Id "setflags") Unknown)) (Unknown, (Just ((T_abbrev (T_id "boolean") (T_id "bit")), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wPSTATE_NZCV") Unknown) [(E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_app (Id_aux (Id "vector") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant three) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_constant four) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_order (Ord_aux Ord_dec Unknown)) Unknown); (Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_id (Id_aux (Id "bit") Unknown)) Unknown)) Unknown)]) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_vector_access - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app_infix (E_aux (E_id (Id_aux (Id "datasize") Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_var "'R"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) (Id_aux (Id "-") Unknown) (E_aux (E_lit (L_aux (L_num one) Unknown)) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_const one))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "atom" (T_args [(T_arg_nexp (Ne_minus (Ne_var "'nv6194") (Ne_var "'nv6195")))])), (Tag_extern (Just "minus")), [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv6184")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector_append (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_app (Id_aux (Id "IsZeroBit") Unknown) [ - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "bit"), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv6221")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) - (E_aux (E_vector [(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))));(E_aux (E_lit (L_aux L_zero Unknown)) (Unknown, (Just ((T_id "bit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv6223")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const one); (Ne_const two)]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_const two)])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_var "'nv6186")); (T_arg_nexp (Ne_var "'nv6185")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_minus (Ne_add [(Ne_const one); (Ne_var "'nv6185")]) (Ne_const one))); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_var "'nv6185")])); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_lit (L_aux L_unit Unknown)) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))); - (E_aux (E_assign (LEXP_aux (LEXP_memory (Id_aux (Id "wX") Unknown) [(E_aux (E_id (Id_aux (Id "d") Unknown)) (Unknown, (Just ((T_abbrev (T_id "reg_index") (T_app "range" (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown))))) - (E_aux (E_cast (Typ_aux (Typ_var (Kid_aux (Var "length") Unknown)) Unknown) (E_aux (E_id (Id_aux (Id "result") Unknown)) (Unknown, (Just ((T_app "reg" (T_args [(T_arg_typ (T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "vector" (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const (zero - 1))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux Ord_dec Unknown)); (T_arg_typ (T_id "bit"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown)))))] ) (Unknown, (Just ((T_id "unit"), Tag_spec, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown) ]) Unknown), (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown)))))) (Unknown,(Just ((T_id "unit"), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_wreg Unknown); (BE_aux BE_lset Unknown); (BE_aux BE_rreg Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (T_id "unit") (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_barr Unknown); (BE_aux BE_eamem Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_exmem Unknown); (BE_aux BE_escape Unknown) ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [(BE_aux BE_rreg Unknown); (BE_aux BE_wreg Unknown); (BE_aux BE_rmem Unknown); (BE_aux BE_barr Unknown); (BE_aux BE_eamem Unknown); (BE_aux BE_wmv Unknown); (BE_aux BE_exmem Unknown); (BE_aux BE_escape Unknown) ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_spec (VS_aux (VS_val_spec (TypSchm_aux (TypSchm_ts (TypQ_aux (TypQ_tq [(QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'R") Unknown) [32; 64]) Unknown)) Unknown); (QI_aux (QI_id (KOpt_aux (KOpt_kind (K_aux (K_kind [(BK_aux BK_nat Unknown)]) Unknown) (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown); (QI_aux (QI_const (NC_aux (NC_nat_set_bounded (Kid_aux (Var "'D") Unknown) [8; 16; 32; 64]) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_fn (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown) (Effect_aux (Effect_set [ ]) Unknown)) Unknown)) Unknown) (Id_aux (Id "supported_instructions") Unknown)) - (Unknown, (Just ((T_fn (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_spec, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -(DEF_fundef (FD_aux (FD_function (Rec_aux Rec_nonrec Unknown) (Typ_annot_opt_aux (Typ_annot_opt_some (TypQ_aux TypQ_no_forall Unknown) (Typ_aux (Typ_app (Id_aux (Id "option") Unknown) [(Typ_arg_aux (Typ_arg_typ (Typ_aux (Typ_app (Id_aux (Id "ast") Unknown) [(Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'R") Unknown)) Unknown)) Unknown); (Typ_arg_aux (Typ_arg_nexp (Nexp_aux (Nexp_var (Kid_aux (Var "'D") Unknown)) Unknown)) Unknown)]) Unknown)) Unknown)]) Unknown)) Unknown) (Effect_opt_aux Effect_opt_pure Unknown) [ - (FCL_aux (FCL_Funcl (Id_aux (Id "supported_instructions") Unknown) (P_aux (P_id (Id_aux (Id "instr") Unknown)) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_block [(E_aux (E_case (E_aux (E_id (Id_aux (Id "instr") Unknown)) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) [ - (Pat_aux (Pat_exp (P_aux P_wild (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - (E_aux (E_app (Id_aux (Id "Some") Unknown) [(E_aux (E_id (Id_aux (Id "instr") Unknown)) (Unknown, (Just ((T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_ctor, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))]) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))] ) (Unknown, (Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_empty, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))) (Unknown,(Just ((T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown))))) - ;]) (Unknown, (Just ((T_fn (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])) (T_app "option" (T_args [(T_arg_typ (T_app "ast" (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))])))])) (Effect_aux (Effect_set [ ]) Unknown)), Tag_global, [], (Effect_aux (Effect_set [ ]) Unknown), (Effect_aux (Effect_set [ ]) Unknown)))))); -] diff --git a/aarch64_small/armV8.ml b/aarch64_small/armV8.ml deleted file mode 100644 index d02899e1..00000000 --- a/aarch64_small/armV8.ml +++ /dev/null @@ -1,6926 +0,0 @@ -(*Generated by Lem from armV8.lem.*) -(* Generated by Sail from armV8.sail. *) -open Interp_ast -open Lem_pervasives -(*Supply common numeric constants at the right type to alleviate repeated calls to typeclass macro*) -let zero : Nat_big_num.num= (Nat_big_num.of_int( 0)) -let one : Nat_big_num.num= (Nat_big_num.of_int( 1)) -let two : Nat_big_num.num= (Nat_big_num.of_int( 2)) -let three : Nat_big_num.num= (Nat_big_num.of_int( 3)) -let four : Nat_big_num.num= (Nat_big_num.of_int( 4)) -let five : Nat_big_num.num= (Nat_big_num.of_int( 5)) -let six : Nat_big_num.num= (Nat_big_num.of_int( 6)) -let seven : Nat_big_num.num= (Nat_big_num.of_int( 7)) -let eight : Nat_big_num.num= (Nat_big_num.of_int( 8)) -let fifteen : Nat_big_num.num= (Nat_big_num.of_int( 15)) -let sixteen : Nat_big_num.num= (Nat_big_num.of_int( 16)) -let twenty : Nat_big_num.num= (Nat_big_num.of_int( 20)) -let twentythree : Nat_big_num.num= (Nat_big_num.of_int( 23)) -let twentyfour : Nat_big_num.num= (Nat_big_num.of_int( 24)) -let thirty : Nat_big_num.num= (Nat_big_num.of_int( 30)) -let thirtyone : Nat_big_num.num= (Nat_big_num.of_int( 31)) -let thirtytwo : Nat_big_num.num= (Nat_big_num.of_int( 32)) -let thirtyfive : Nat_big_num.num= (Nat_big_num.of_int( 35)) -let thirtynine : Nat_big_num.num= (Nat_big_num.of_int( 39)) -let forty : Nat_big_num.num= (Nat_big_num.of_int( 40)) -let fortyseven : Nat_big_num.num= (Nat_big_num.of_int( 47)) -let fortyeight : Nat_big_num.num= (Nat_big_num.of_int( 48)) -let fiftyfive : Nat_big_num.num= (Nat_big_num.of_int( 55)) -let fiftysix : Nat_big_num.num= (Nat_big_num.of_int( 56)) -let fiftyseven : Nat_big_num.num= (Nat_big_num.of_int( 57)) -let sixtyone : Nat_big_num.num= (Nat_big_num.of_int( 61)) -let sixtythree : Nat_big_num.num= (Nat_big_num.of_int( 63)) -let sixtyfour : Nat_big_num.num= (Nat_big_num.of_int( 64)) -let onetwentyseven : Nat_big_num.num= (Nat_big_num.of_int( 127)) -let onetwentyeight : Nat_big_num.num= (Nat_big_num.of_int( 128)) -let defs:((t*tag*'a list*effect*effect)option)defs= (Defs [ -(DEF_default (DT_aux( (DT_order (Ord_aux( Ord_dec, Unknown))), Unknown))); -(DEF_type (TD_aux( (TD_abbrev( (Id_aux( (Id "boolean"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)))), Unknown)))), (Unknown, (Some ((T_id "bit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_abbrev( (Id_aux( (Id "integer"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "int"), Unknown))), Unknown)))), Unknown)))), (Unknown, (Some ((T_abbrev( (T_id "int"), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_abbrev( (Id_aux( (Id "uinteger"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "nat"), Unknown))), Unknown)))), Unknown)))), (Unknown, (Some ((T_abbrev( (T_id "nat"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_abbrev( (Id_aux( (Id "reg_size"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant five), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_abbrev( (Id_aux( (Id "reg_index"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "range"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant zero), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtyone), Unknown))), Unknown))])), Unknown)))), Unknown)))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_abbrev( (Id_aux( (Id "SIMD_index"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "range"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant zero), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtytwo), Unknown))), Unknown))])), Unknown)))), Unknown)))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "_PC"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "_PC")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant seven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant eight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "TxNestingLevel"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "TxNestingLevel")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_register( (Id_aux( (Id "TMSTATUS_type"), Unknown)), (Nexp_aux( (Nexp_constant sixtythree), Unknown)), (Nexp_aux( (Nexp_constant zero), Unknown)), [((BF_aux( (BF_single(Nat_big_num.of_int 16)), Unknown)), (Id_aux( (Id "IMP"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 15)), Unknown)), (Id_aux( (Id "DBG"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 14)), Unknown)), (Id_aux( (Id "MEM"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 13)), Unknown)), (Id_aux( (Id "ERR"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 12)), Unknown)), (Id_aux( (Id "INV"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 11)), Unknown)), (Id_aux( (Id "SIZE"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 10)), Unknown)), (Id_aux( (Id "NEST"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 9)), Unknown)), (Id_aux( (Id "ABRT"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 8)), Unknown)), (Id_aux( (Id "RTRY"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 4),(Nat_big_num.of_int 0))), Unknown)), (Id_aux( (Id "REASON"), Unknown))); ])), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "TMSTATUS_type"), Unknown))), Unknown)), (Id_aux( (Id "TMAbortEffect"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "TMSTATUS_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "TMAbortEffect")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "TMSTATUS_type"), Unknown))), Unknown)), (Id_aux( (Id "TMStartEffect"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "TMSTATUS_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "TMStartEffect")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R30"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R30")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R29"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R29")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R28"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R28")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R27"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R27")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R26"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R26")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R25"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R25")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R24"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R24")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R23"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R23")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R22"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R22")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R21"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R21")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R20"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R20")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R19"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R19")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R18"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R18")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R17"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R17")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R16"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R16")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R15"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R15")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R14"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R14")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R13"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R13")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R12"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R12")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R11"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R11")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R10"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R10")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R9"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R9")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R8"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R8")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R7"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R7")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R6"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R6")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R5"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R5")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R4"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R4")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R3"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R3")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R2"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R2")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R1"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R1")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R0"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "R0")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "_R"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_undef, Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R30"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R29"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R28"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R27"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R26"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R25"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R24"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R23"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R22"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R21"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R20"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R19"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R18"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R17"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R16"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R15"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R14"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R13"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R12"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R11"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R10"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R9"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R8"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R7"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R6"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R5"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R4"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R3"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R2"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R1"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "R0"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_undef, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_undef, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "UInt_reg"), Unknown)), (P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "unsigned"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), (Tag_extern (Some "unsigned")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))), (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V31"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V31")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V30"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V30")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V29"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V29")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V28"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V28")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V27"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V27")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V26"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V26")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V25"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V25")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V24"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V24")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V23"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V23")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V22"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V22")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V21"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V21")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V20"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V20")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V19"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V19")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V18"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V18")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V17"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V17")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V16"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V16")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V15"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V15")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V14"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V14")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V13"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V13")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V12"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V12")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V11"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V11")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V10"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V10")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V9"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V9")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V8"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V8")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V7"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V7")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V6"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V6")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V5"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V5")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V4"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V4")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V3"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V3")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V2"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V2")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V1"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V1")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V0"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "V0")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "_V"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 33))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_undef, Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V31"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V30"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V29"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V28"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V27"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V26"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V25"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V24"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V23"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V22"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V21"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V20"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V19"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V18"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V17"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V16"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V15"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V14"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V13"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V12"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V11"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V10"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V9"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V8"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V7"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V6"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V5"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V4"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V3"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V2"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "V1"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "V0"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 33))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_undef, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 33))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_undef, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'m"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'n"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_bounded_ge( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'m"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant zero), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_bounded_ge( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'n"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant zero), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'n"), Unknown))), Unknown)), (Nexp_aux( (Nexp_exp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'m"), Unknown))), Unknown))), Unknown)))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "lsl"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'n"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'m"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'n"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'m"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'n"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "**"), Unknown)), (E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'m"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_exp (Ne_var "'nv21")))]))), (Tag_extern (Some "power")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv7"), (Ne_var "'nv8"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'n"), (Ne_exp (Ne_var "'m")))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'n"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'m"))])))]), (T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'n"), (Ne_exp (Ne_var "'m")))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "not_implemented"), Unknown)), (P_aux( (P_id (Id_aux( (Id "message"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_exit (E_aux( (E_id (Id_aux( (Id "message"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "string"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_none (Kid_aux( (Var "'a"), Unknown))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_var (Kid_aux( (Var "'a"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "not_implemented_extern"), Unknown)), (P_aux( (P_id (Id_aux( (Id "message"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_exit (E_aux( (E_id (Id_aux( (Id "message"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))), (Unknown, (Some ((T_var "'tv0"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_var "'tv0"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_var "'tv0"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "string"), (T_var "'tv0"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "info"), Unknown)), (P_aux( (P_id (Id_aux( (Id "message"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "string"), (T_id "unit"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_record( (Id_aux( (Id "IMPLEMENTATION_DEFINED_type"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), (TypQ_aux( TypQ_no_forall, Unknown)), [ - ((Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "HaveCRCExt"), Unknown))); - ((Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "HaveAArch32EL"), Unknown))); - ((Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "HaveAnyAArch32"), Unknown))); - ((Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "HaveEL2"), Unknown))); - ((Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "HaveEL3"), Unknown))); - ((Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "HighestELUsingAArch32"), Unknown))); - ((Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "IsSecureBelowEL3"), Unknown)));], false)), (Unknown, (Some ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "IMPLEMENTATION_DEFINED"), Unknown))), (Unknown, (Some ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_record (FES_aux( (FES_Fexps( [(FE_aux( (FE_Fexp( (Id_aux( (Id "HaveCRCExt"), Unknown)), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "HaveAArch32EL"), Unknown)), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "HaveAnyAArch32"), Unknown)), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "HaveEL2"), Unknown)), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "HaveEL3"), Unknown)), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "HighestELUsingAArch32"), Unknown)), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "IsSecureBelowEL3"), Unknown)), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))], false)), (Unknown,None)))), (Unknown, (Some ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_extern_no_rename( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "bool"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_exmem, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "speculate_exclusive_success"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "bool"), (T_id "bit"))), (Effect_aux( (Effect_set [(BE_aux( BE_exmem, Unknown)) ]), Unknown)))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_register( (Id_aux( (Id "HCR_type"), Unknown)), (Nexp_aux( (Nexp_constant sixtythree), Unknown)), (Nexp_aux( (Nexp_constant zero), Unknown)), [((BF_aux( (BF_single(Nat_big_num.of_int 33)), Unknown)), (Id_aux( (Id "ID"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 32)), Unknown)), (Id_aux( (Id "CD"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 31)), Unknown)), (Id_aux( (Id "RW"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 30)), Unknown)), (Id_aux( (Id "TRVM"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 29)), Unknown)), (Id_aux( (Id "HCD"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 28)), Unknown)), (Id_aux( (Id "TDZ"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 27)), Unknown)), (Id_aux( (Id "TGE"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 26)), Unknown)), (Id_aux( (Id "TVM"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 25)), Unknown)), (Id_aux( (Id "TTLB"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 24)), Unknown)), (Id_aux( (Id "TPU"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 23)), Unknown)), (Id_aux( (Id "TPC"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 22)), Unknown)), (Id_aux( (Id "TSW"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 21)), Unknown)), (Id_aux( (Id "TACR"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 20)), Unknown)), (Id_aux( (Id "TIDCP"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 19)), Unknown)), (Id_aux( (Id "TSC"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 18)), Unknown)), (Id_aux( (Id "TID3"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 17)), Unknown)), (Id_aux( (Id "TID2"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 16)), Unknown)), (Id_aux( (Id "TID1"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 15)), Unknown)), (Id_aux( (Id "TID0"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 14)), Unknown)), (Id_aux( (Id "TWE"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 13)), Unknown)), (Id_aux( (Id "TWI"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 12)), Unknown)), (Id_aux( (Id "DC"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 11),(Nat_big_num.of_int 10))), Unknown)), (Id_aux( (Id "BSU"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 9)), Unknown)), (Id_aux( (Id "FB"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 8)), Unknown)), (Id_aux( (Id "VSE"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 7)), Unknown)), (Id_aux( (Id "VI"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 6)), Unknown)), (Id_aux( (Id "VF"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 5)), Unknown)), (Id_aux( (Id "AMO"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 4)), Unknown)), (Id_aux( (Id "IMO"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 3)), Unknown)), (Id_aux( (Id "FMO"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 2)), Unknown)), (Id_aux( (Id "PTW"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 1)), Unknown)), (Id_aux( (Id "SWIO"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 0)), Unknown)), (Id_aux( (Id "VM"), Unknown))); ])), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "HCR_type"), Unknown))), Unknown)), (Id_aux( (Id "HCR_EL2"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "HCR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "HCR_EL2")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_register( (Id_aux( (Id "ID_AA64MMFR0_type"), Unknown)), (Nexp_aux( (Nexp_constant sixtythree), Unknown)), (Nexp_aux( (Nexp_constant zero), Unknown)), [((BF_aux( (BF_range((Nat_big_num.of_int 31),(Nat_big_num.of_int 28))), Unknown)), (Id_aux( (Id "TGran4"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 27),(Nat_big_num.of_int 24))), Unknown)), (Id_aux( (Id "TGran64"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 23),(Nat_big_num.of_int 20))), Unknown)), (Id_aux( (Id "TGran16"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 19),(Nat_big_num.of_int 16))), Unknown)), (Id_aux( (Id "BigEndEL0"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 15),(Nat_big_num.of_int 12))), Unknown)), (Id_aux( (Id "SNSMem"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 11),(Nat_big_num.of_int 8))), Unknown)), (Id_aux( (Id "BigEnd"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 7),(Nat_big_num.of_int 4))), Unknown)), (Id_aux( (Id "ASIDBits"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 3),(Nat_big_num.of_int 0))), Unknown)), (Id_aux( (Id "PARange"), Unknown))); ])), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "ID_AA64MMFR0_type"), Unknown))), Unknown)), (Id_aux( (Id "ID_AA64MMFR0_EL1"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "ID_AA64MMFR0_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "ID_AA64MMFR0_EL1")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "RVBAR_EL1"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "RVBAR_EL1")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "RVBAR_EL2"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "RVBAR_EL2")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "RVBAR_EL3"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "RVBAR_EL3")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_register( (Id_aux( (Id "SCRType"), Unknown)), (Nexp_aux( (Nexp_constant thirtyone), Unknown)), (Nexp_aux( (Nexp_constant zero), Unknown)), [((BF_aux( (BF_single(Nat_big_num.of_int 13)), Unknown)), (Id_aux( (Id "TWE"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 12)), Unknown)), (Id_aux( (Id "TWI"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 11)), Unknown)), (Id_aux( (Id "ST"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 10)), Unknown)), (Id_aux( (Id "RW"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 9)), Unknown)), (Id_aux( (Id "SIF"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 8)), Unknown)), (Id_aux( (Id "HCE"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 7)), Unknown)), (Id_aux( (Id "SMD"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 3)), Unknown)), (Id_aux( (Id "EA"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 2)), Unknown)), (Id_aux( (Id "FIQ"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 1)), Unknown)), (Id_aux( (Id "IRQ"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 0)), Unknown)), (Id_aux( (Id "NS"), Unknown))); ])), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "SCRType"), Unknown))), Unknown)), (Id_aux( (Id "SCR_EL3"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "SCRType"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "SCR_EL3")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_register( (Id_aux( (Id "SCTLR_EL1_type"), Unknown)), (Nexp_aux( (Nexp_constant thirtyone), Unknown)), (Nexp_aux( (Nexp_constant zero), Unknown)), [((BF_aux( (BF_single(Nat_big_num.of_int 26)), Unknown)), (Id_aux( (Id "UCI"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 25)), Unknown)), (Id_aux( (Id "EE"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 24)), Unknown)), (Id_aux( (Id "E0E"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 19)), Unknown)), (Id_aux( (Id "WXN"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 18)), Unknown)), (Id_aux( (Id "nTWE"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 16)), Unknown)), (Id_aux( (Id "nTWI"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 15)), Unknown)), (Id_aux( (Id "UCT"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 14)), Unknown)), (Id_aux( (Id "DZE"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 12)), Unknown)), (Id_aux( (Id "I"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 9)), Unknown)), (Id_aux( (Id "UMA"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 8)), Unknown)), (Id_aux( (Id "SED"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 7)), Unknown)), (Id_aux( (Id "ITD"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 5)), Unknown)), (Id_aux( (Id "CP15BEN"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 4)), Unknown)), (Id_aux( (Id "SA0"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 3)), Unknown)), (Id_aux( (Id "SA"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 2)), Unknown)), (Id_aux( (Id "C"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 1)), Unknown)), (Id_aux( (Id "A"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 0)), Unknown)), (Id_aux( (Id "M"), Unknown))); ])), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "SCTLR_EL1_type"), Unknown))), Unknown)), (Id_aux( (Id "SCTLR_EL1"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "SCTLR_EL1_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "SCTLR_EL1")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_register( (Id_aux( (Id "SCTLR_type"), Unknown)), (Nexp_aux( (Nexp_constant thirtyone), Unknown)), (Nexp_aux( (Nexp_constant zero), Unknown)), [((BF_aux( (BF_single(Nat_big_num.of_int 25)), Unknown)), (Id_aux( (Id "EE"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 19)), Unknown)), (Id_aux( (Id "WXN"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 12)), Unknown)), (Id_aux( (Id "I"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 3)), Unknown)), (Id_aux( (Id "SA"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 2)), Unknown)), (Id_aux( (Id "C"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 1)), Unknown)), (Id_aux( (Id "A"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 0)), Unknown)), (Id_aux( (Id "M"), Unknown))); ])), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "SCTLR_type"), Unknown))), Unknown)), (Id_aux( (Id "SCTLR_EL2"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "SCTLR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "SCTLR_EL2")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "SCTLR_type"), Unknown))), Unknown)), (Id_aux( (Id "SCTLR_EL3"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "SCTLR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "SCTLR_EL3")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_register( (Id_aux( (Id "TCR_EL1_type"), Unknown)), (Nexp_aux( (Nexp_constant sixtythree), Unknown)), (Nexp_aux( (Nexp_constant zero), Unknown)), [((BF_aux( (BF_single(Nat_big_num.of_int 38)), Unknown)), (Id_aux( (Id "TBI1"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 37)), Unknown)), (Id_aux( (Id "TBI0"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 36)), Unknown)), (Id_aux( (Id "AS"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 34),(Nat_big_num.of_int 32))), Unknown)), (Id_aux( (Id "IPS"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 31),(Nat_big_num.of_int 30))), Unknown)), (Id_aux( (Id "TG1"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 29),(Nat_big_num.of_int 28))), Unknown)), (Id_aux( (Id "SH1"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 27),(Nat_big_num.of_int 26))), Unknown)), (Id_aux( (Id "ORGN1"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 25),(Nat_big_num.of_int 24))), Unknown)), (Id_aux( (Id "IRGN1"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 23)), Unknown)), (Id_aux( (Id "EPD1"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 22)), Unknown)), (Id_aux( (Id "A1"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 21),(Nat_big_num.of_int 16))), Unknown)), (Id_aux( (Id "T1SZ"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 15),(Nat_big_num.of_int 14))), Unknown)), (Id_aux( (Id "TG0"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 13),(Nat_big_num.of_int 12))), Unknown)), (Id_aux( (Id "SH0"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 11),(Nat_big_num.of_int 10))), Unknown)), (Id_aux( (Id "ORGN0"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 9),(Nat_big_num.of_int 8))), Unknown)), (Id_aux( (Id "IRGN0"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 7)), Unknown)), (Id_aux( (Id "EPD0"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 5),(Nat_big_num.of_int 0))), Unknown)), (Id_aux( (Id "T0SZ"), Unknown))); ])), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "TCR_EL1_type"), Unknown))), Unknown)), (Id_aux( (Id "TCR_EL1"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "TCR_EL1_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "TCR_EL1")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_register( (Id_aux( (Id "TCR_type"), Unknown)), (Nexp_aux( (Nexp_constant thirtyone), Unknown)), (Nexp_aux( (Nexp_constant zero), Unknown)), [((BF_aux( (BF_single(Nat_big_num.of_int 20)), Unknown)), (Id_aux( (Id "TBI"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 18),(Nat_big_num.of_int 16))), Unknown)), (Id_aux( (Id "PS"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 15),(Nat_big_num.of_int 14))), Unknown)), (Id_aux( (Id "TG0"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 13),(Nat_big_num.of_int 12))), Unknown)), (Id_aux( (Id "SH0"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 11),(Nat_big_num.of_int 10))), Unknown)), (Id_aux( (Id "ORGN0"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 9),(Nat_big_num.of_int 8))), Unknown)), (Id_aux( (Id "IRGN0"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 5),(Nat_big_num.of_int 0))), Unknown)), (Id_aux( (Id "T0SZ"), Unknown))); ])), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "TCR_type"), Unknown))), Unknown)), (Id_aux( (Id "TCR_EL2"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "TCR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "TCR_EL2")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "TCR_type"), Unknown))), Unknown)), (Id_aux( (Id "TCR_EL3"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "TCR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "TCR_EL3")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "TPIDR_EL0"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "TPIDR_EL0")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "TPIDR_EL1"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "TPIDR_EL1")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "TPIDR_EL2"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "TPIDR_EL2")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "TPIDR_EL3"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "TPIDR_EL3")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_register( (Id_aux( (Id "DBGPRCR_type"), Unknown)), (Nexp_aux( (Nexp_constant thirtyone), Unknown)), (Nexp_aux( (Nexp_constant zero), Unknown)), [((BF_aux( (BF_single(Nat_big_num.of_int 0)), Unknown)), (Id_aux( (Id "CORENPDRQ"), Unknown))); ])), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "DBGPRCR_type"), Unknown))), Unknown)), (Id_aux( (Id "DBGPRCR_EL1"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "DBGPRCR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "DBGPRCR_EL1")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_register( (Id_aux( (Id "OSDLR_type"), Unknown)), (Nexp_aux( (Nexp_constant thirtyone), Unknown)), (Nexp_aux( (Nexp_constant zero), Unknown)), [((BF_aux( (BF_single(Nat_big_num.of_int 0)), Unknown)), (Id_aux( (Id "DLK"), Unknown))); ])), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "OSDLR_type"), Unknown))), Unknown)), (Id_aux( (Id "OSDLR_EL1"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "OSDLR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "OSDLR_EL1")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_register( (Id_aux( (Id "EDSCR_type"), Unknown)), (Nexp_aux( (Nexp_constant thirtyone), Unknown)), (Nexp_aux( (Nexp_constant zero), Unknown)), [((BF_aux( (BF_single(Nat_big_num.of_int 30)), Unknown)), (Id_aux( (Id "RXfull"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 29)), Unknown)), (Id_aux( (Id "TXfull"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 28)), Unknown)), (Id_aux( (Id "ITO"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 27)), Unknown)), (Id_aux( (Id "RXO"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 26)), Unknown)), (Id_aux( (Id "TXU"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 25)), Unknown)), (Id_aux( (Id "PipeAdv"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 24)), Unknown)), (Id_aux( (Id "ITE"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 23),(Nat_big_num.of_int 22))), Unknown)), (Id_aux( (Id "INTdis"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 21)), Unknown)), (Id_aux( (Id "TDA"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 20)), Unknown)), (Id_aux( (Id "MA"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 18)), Unknown)), (Id_aux( (Id "NS"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 16)), Unknown)), (Id_aux( (Id "SDD"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 14)), Unknown)), (Id_aux( (Id "HDE"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 13),(Nat_big_num.of_int 10))), Unknown)), (Id_aux( (Id "RW"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 9),(Nat_big_num.of_int 8))), Unknown)), (Id_aux( (Id "EL"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 7)), Unknown)), (Id_aux( (Id "A"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 6)), Unknown)), (Id_aux( (Id "ERR"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 5),(Nat_big_num.of_int 0))), Unknown)), (Id_aux( (Id "STATUS"), Unknown))); ])), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "EDSCR_type"), Unknown))), Unknown)), (Id_aux( (Id "EDSCR"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "EDSCR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "EDSCR")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_register( (Id_aux( (Id "TXIDR_EL0_type"), Unknown)), (Nexp_aux( (Nexp_constant sixtythree), Unknown)), (Nexp_aux( (Nexp_constant zero), Unknown)), [((BF_aux( (BF_range((Nat_big_num.of_int 7),(Nat_big_num.of_int 0))), Unknown)), (Id_aux( (Id "DEPTH"), Unknown))); ])), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "TXIDR_EL0_type"), Unknown))), Unknown)), (Id_aux( (Id "TXIDR_EL0"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "TXIDR_EL0_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "TXIDR_EL0")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_ResetControlRegisters"), Unknown)), (P_aux( (P_id (Id_aux( (Id "cold_reset"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_abbrev( (T_id "boolean"), (T_id "bit"))), (T_id "unit"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_register( (Id_aux( (Id "CurrentEL_type"), Unknown)), (Nexp_aux( (Nexp_constant thirtyone), Unknown)), (Nexp_aux( (Nexp_constant zero), Unknown)), [((BF_aux( (BF_range((Nat_big_num.of_int 3),(Nat_big_num.of_int 2))), Unknown)), (Id_aux( (Id "EL"), Unknown))); ])), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "CurrentEL_type"), Unknown))), Unknown)), (Id_aux( (Id "CurrentEL"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "CurrentEL_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "CurrentEL")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_register( (Id_aux( (Id "DAIF_type"), Unknown)), (Nexp_aux( (Nexp_constant thirtyone), Unknown)), (Nexp_aux( (Nexp_constant zero), Unknown)), [((BF_aux( (BF_single(Nat_big_num.of_int 9)), Unknown)), (Id_aux( (Id "D"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 8)), Unknown)), (Id_aux( (Id "A"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 7)), Unknown)), (Id_aux( (Id "I"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 6)), Unknown)), (Id_aux( (Id "F"), Unknown))); ])), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "DAIF_type"), Unknown))), Unknown)), (Id_aux( (Id "DAIF"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "DAIF_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_register( (Id_aux( (Id "NZCV_type"), Unknown)), (Nexp_aux( (Nexp_constant thirtyone), Unknown)), (Nexp_aux( (Nexp_constant zero), Unknown)), [((BF_aux( (BF_single(Nat_big_num.of_int 31)), Unknown)), (Id_aux( (Id "N"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 30)), Unknown)), (Id_aux( (Id "Z"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 29)), Unknown)), (Id_aux( (Id "C"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 28)), Unknown)), (Id_aux( (Id "V"), Unknown))); ])), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "NZCV_type"), Unknown))), Unknown)), (Id_aux( (Id "NZCV"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "NZCV_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "NZCV")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "SP_EL0"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "SP_EL0")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "SP_EL1"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "SP_EL1")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "SP_EL2"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "SP_EL2")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "SP_EL3"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "SP_EL3")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_register( (Id_aux( (Id "SPSel_type"), Unknown)), (Nexp_aux( (Nexp_constant thirtyone), Unknown)), (Nexp_aux( (Nexp_constant zero), Unknown)), [((BF_aux( (BF_single(Nat_big_num.of_int 0)), Unknown)), (Id_aux( (Id "SP"), Unknown))); ])), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "SPSel_type"), Unknown))), Unknown)), (Id_aux( (Id "SPSel"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "SPSel_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "SPSel")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_register( (Id_aux( (Id "SPSR_type"), Unknown)), (Nexp_aux( (Nexp_constant thirtyone), Unknown)), (Nexp_aux( (Nexp_constant zero), Unknown)), [((BF_aux( (BF_single(Nat_big_num.of_int 31)), Unknown)), (Id_aux( (Id "N"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 30)), Unknown)), (Id_aux( (Id "Z"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 29)), Unknown)), (Id_aux( (Id "C"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 28)), Unknown)), (Id_aux( (Id "V"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 21)), Unknown)), (Id_aux( (Id "SS"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 20)), Unknown)), (Id_aux( (Id "IL"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 9)), Unknown)), (Id_aux( (Id "E"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 8)), Unknown)), (Id_aux( (Id "A"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 7)), Unknown)), (Id_aux( (Id "I"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 6)), Unknown)), (Id_aux( (Id "F"), Unknown))); ((BF_aux( (BF_single(Nat_big_num.of_int 4)), Unknown)), (Id_aux( (Id "M4"), Unknown))); ((BF_aux( (BF_range((Nat_big_num.of_int 3),(Nat_big_num.of_int 0))), Unknown)), (Id_aux( (Id "M3_0"), Unknown))); ])), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "SPSR_type"), Unknown))), Unknown)), (Id_aux( (Id "SPSR_EL1"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "SPSR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "SPSR_EL1")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "SPSR_type"), Unknown))), Unknown)), (Id_aux( (Id "SPSR_EL2"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "SPSR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "SPSR_EL2")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "SPSR_type"), Unknown))), Unknown)), (Id_aux( (Id "SPSR_EL3"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "SPSR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "SPSR_EL3")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "ELR_EL1"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "ELR_EL1")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "ELR_EL2"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "ELR_EL2")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "ELR_EL3"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "ELR_EL3")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "SCRType"), Unknown))), Unknown)), (Id_aux( (Id "SCR"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "SCRType"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "SCR")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_register( (Id_aux( (Id "DBGOSDLR_type"), Unknown)), (Nexp_aux( (Nexp_constant thirtyone), Unknown)), (Nexp_aux( (Nexp_constant zero), Unknown)), [((BF_aux( (BF_single(Nat_big_num.of_int 0)), Unknown)), (Id_aux( (Id "DLK"), Unknown))); ])), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "DBGOSDLR_type"), Unknown))), Unknown)), (Id_aux( (Id "DBGOSDLR"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "DBGOSDLR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "DBGOSDLR")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_id (Id_aux( (Id "DBGPRCR_type"), Unknown))), Unknown)), (Id_aux( (Id "DBGPRCR"), Unknown)))), (Unknown,(Some ((T_abbrev( (T_id "DBGPRCR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "DBGPRCR")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_alias( (Id_aux( (Id "PSTATE_N"), Unknown)), (AL_aux( (AL_subreg( - (RI_aux( (RI_id (Id_aux( (Id "NZCV"), Unknown))), (Unknown,(Some ((T_abbrev( (T_id "NZCV_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "NZCV")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "N"), Unknown)))), (Unknown,(Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_alias( (Id_aux( (Id "PSTATE_Z"), Unknown)), (AL_aux( (AL_subreg( - (RI_aux( (RI_id (Id_aux( (Id "NZCV"), Unknown))), (Unknown,(Some ((T_abbrev( (T_id "NZCV_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "NZCV")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "Z"), Unknown)))), (Unknown,(Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_alias( (Id_aux( (Id "PSTATE_C"), Unknown)), (AL_aux( (AL_subreg( - (RI_aux( (RI_id (Id_aux( (Id "NZCV"), Unknown))), (Unknown,(Some ((T_abbrev( (T_id "NZCV_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "NZCV")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "C"), Unknown)))), (Unknown,(Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_alias( (Id_aux( (Id "PSTATE_V"), Unknown)), (AL_aux( (AL_subreg( - (RI_aux( (RI_id (Id_aux( (Id "NZCV"), Unknown))), (Unknown,(Some ((T_abbrev( (T_id "NZCV_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "NZCV")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "V"), Unknown)))), (Unknown,(Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_alias( (Id_aux( (Id "PSTATE_D"), Unknown)), (AL_aux( (AL_subreg( - (RI_aux( (RI_id (Id_aux( (Id "DAIF"), Unknown))), (Unknown,(Some ((T_abbrev( (T_id "DAIF_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "D"), Unknown)))), (Unknown,(Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_alias( (Id_aux( (Id "PSTATE_A"), Unknown)), (AL_aux( (AL_subreg( - (RI_aux( (RI_id (Id_aux( (Id "DAIF"), Unknown))), (Unknown,(Some ((T_abbrev( (T_id "DAIF_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "A"), Unknown)))), (Unknown,(Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_alias( (Id_aux( (Id "PSTATE_I"), Unknown)), (AL_aux( (AL_subreg( - (RI_aux( (RI_id (Id_aux( (Id "DAIF"), Unknown))), (Unknown,(Some ((T_abbrev( (T_id "DAIF_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "I"), Unknown)))), (Unknown,(Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_alias( (Id_aux( (Id "PSTATE_F"), Unknown)), (AL_aux( (AL_subreg( - (RI_aux( (RI_id (Id_aux( (Id "DAIF"), Unknown))), (Unknown,(Some ((T_abbrev( (T_id "DAIF_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "F"), Unknown)))), (Unknown,(Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_alias( (Id_aux( (Id "PSTATE_EL"), Unknown)), (AL_aux( (AL_subreg( - (RI_aux( (RI_id (Id_aux( (Id "CurrentEL"), Unknown))), (Unknown,(Some ((T_abbrev( (T_id "CurrentEL_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "CurrentEL")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "EL"), Unknown)))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant zero), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "PSTATE_nRW"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "PSTATE_nRW")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_alias( (Id_aux( (Id "PSTATE_SP"), Unknown)), (AL_aux( (AL_subreg( - (RI_aux( (RI_id (Id_aux( (Id "SPSel"), Unknown))), (Unknown,(Some ((T_abbrev( (T_id "SPSel_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "SPSel")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "SP"), Unknown)))), (Unknown,(Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant zero), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "PSTATE_E"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "PSTATE_E")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_reg_dec (DEC_aux( (DEC_reg( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant five), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "PSTATE_M"), Unknown)))), (Unknown,(Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "PSTATE_M")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "wPSTATE_NZCV"), Unknown)), (P_aux( (P_tup [(P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "z"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "c"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "v"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "unit"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_N"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "NZCV")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_Z"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "z"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "NZCV")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_C"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "c"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "NZCV")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_V"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "v"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "NZCV")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "NZCV")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "unit"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "wPSTATE_DAIF"), Unknown)), (P_aux( (P_tup [(P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "a"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "i"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "f"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "unit"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_D"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_A"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "a"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_I"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "i"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_F"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "f"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "unit"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_enum( (Id_aux( (Id "AccType"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), [(Id_aux( (Id "AccType_NORMAL"), Unknown)); (Id_aux( (Id "AccType_VEC"), Unknown)); (Id_aux( (Id "AccType_STREAM"), Unknown)); (Id_aux( (Id "AccType_VECSTREAM"), Unknown)); (Id_aux( (Id "AccType_ATOMIC"), Unknown)); (Id_aux( (Id "AccType_ORDERED"), Unknown)); (Id_aux( (Id "AccType_UNPRIV"), Unknown)); (Id_aux( (Id "AccType_IFETCH"), Unknown)); (Id_aux( (Id "AccType_PTW"), Unknown)); (Id_aux( (Id "AccType_DC"), Unknown)); (Id_aux( (Id "AccType_IC"), Unknown)); (Id_aux( (Id "AccType_AT"), Unknown))], false)), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_enum( (Id_aux( (Id "MBReqDomain"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), [(Id_aux( (Id "MBReqDomain_Nonshareable"), Unknown)); (Id_aux( (Id "MBReqDomain_InnerShareable"), Unknown)); (Id_aux( (Id "MBReqDomain_OuterShareable"), Unknown)); (Id_aux( (Id "MBReqDomain_FullSystem"), Unknown))], false)), (Unknown, (Some ((T_id "MBReqDomain"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_enum( (Id_aux( (Id "MBReqTypes"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), [(Id_aux( (Id "MBReqTypes_Reads"), Unknown)); (Id_aux( (Id "MBReqTypes_Writes"), Unknown)); (Id_aux( (Id "MBReqTypes_All"), Unknown))], false)), (Unknown, (Some ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_enum( (Id_aux( (Id "BranchType"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), [(Id_aux( (Id "BranchType_CALL"), Unknown)); (Id_aux( (Id "BranchType_ERET"), Unknown)); (Id_aux( (Id "BranchType_DBGEXIT"), Unknown)); (Id_aux( (Id "BranchType_RET"), Unknown)); (Id_aux( (Id "BranchType_JMP"), Unknown)); (Id_aux( (Id "BranchType_EXCEPTION"), Unknown)); (Id_aux( (Id "BranchType_UNKNOWN"), Unknown))], false)), (Unknown, (Some ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_enum( (Id_aux( (Id "MoveWideOp"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), [(Id_aux( (Id "MoveWideOp_N"), Unknown)); (Id_aux( (Id "MoveWideOp_Z"), Unknown)); (Id_aux( (Id "MoveWideOp_K"), Unknown))], false)), (Unknown, (Some ((T_id "MoveWideOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "M32_User"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "M32_FIQ"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "M32_IRQ"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "M32_Svc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "M32_Monitor"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "M32_Abort"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "M32_Hyp"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "M32_Undef"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "M32_System"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "EL2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "EL0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_enum( (Id_aux( (Id "DeviceType"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), [(Id_aux( (Id "DeviceType_GRE"), Unknown)); (Id_aux( (Id "DeviceType_nGRE"), Unknown)); (Id_aux( (Id "DeviceType_nGnRE"), Unknown)); (Id_aux( (Id "DeviceType_nGnRnE"), Unknown))], false)), (Unknown, (Some ((T_id "DeviceType"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_enum( (Id_aux( (Id "Fault"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), [(Id_aux( (Id "Fault_None"), Unknown)); (Id_aux( (Id "Fault_AccessFlag"), Unknown)); (Id_aux( (Id "Fault_Alignment"), Unknown)); (Id_aux( (Id "Fault_Background"), Unknown)); (Id_aux( (Id "Fault_Domain"), Unknown)); (Id_aux( (Id "Fault_Permission"), Unknown)); (Id_aux( (Id "Fault_Translation"), Unknown)); (Id_aux( (Id "Fault_AddressSize"), Unknown)); (Id_aux( (Id "Fault_SyncExternal"), Unknown)); (Id_aux( (Id "Fault_SyncExternalOnWalk"), Unknown)); (Id_aux( (Id "Fault_SyncParity"), Unknown)); (Id_aux( (Id "Fault_SyncParityOnWalk"), Unknown)); (Id_aux( (Id "Fault_AsyncParity"), Unknown)); (Id_aux( (Id "Fault_AsyncExternal"), Unknown)); (Id_aux( (Id "Fault_Debug"), Unknown)); (Id_aux( (Id "Fault_TLBConflict"), Unknown)); (Id_aux( (Id "Fault_Lockdown"), Unknown)); (Id_aux( (Id "Fault_Exclusive"), Unknown)); (Id_aux( (Id "Fault_ICacheMaint"), Unknown))], false)), (Unknown, (Some ((T_id "Fault"), (Tag_enum(Nat_big_num.of_int 18)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_record( (Id_aux( (Id "FaultRecord"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), (TypQ_aux( TypQ_no_forall, Unknown)), [ - ((Typ_aux( (Typ_id (Id_aux( (Id "Fault"), Unknown))), Unknown)), (Id_aux( (Id "type"), Unknown))); - ((Typ_aux( (Typ_id (Id_aux( (Id "AccType"), Unknown))), Unknown)), (Id_aux( (Id "acctype"), Unknown))); - ((Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant fortyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant fortyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "ipaddress"), Unknown))); - ((Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "s2fs1walk"), Unknown))); - ((Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "write"), Unknown))); - ((Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "level"), Unknown))); - ((Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "extflag"), Unknown))); - ((Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "secondstage"), Unknown))); - ((Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "domain"), Unknown))); - ((Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "debugmoe"), Unknown)));], false)), (Unknown, (Some ((T_id "FaultRecord"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_record( (Id_aux( (Id "MemAttrHints"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), (TypQ_aux( TypQ_no_forall, Unknown)), [ - ((Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "attrs"), Unknown))); - ((Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "hints"), Unknown))); - ((Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "transient"), Unknown)));], false)), (Unknown, (Some ((T_id "MemAttrHints"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_enum( (Id_aux( (Id "MemType"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), [(Id_aux( (Id "MemType_Normal"), Unknown)); (Id_aux( (Id "MemType_Device"), Unknown))], false)), (Unknown, (Some ((T_id "MemType"), (Tag_enum one), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_record( (Id_aux( (Id "MemoryAttributes"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), (TypQ_aux( TypQ_no_forall, Unknown)), [ - ((Typ_aux( (Typ_id (Id_aux( (Id "MemType"), Unknown))), Unknown)), (Id_aux( (Id "type"), Unknown))); - ((Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "shareable"), Unknown)));], false)), (Unknown, (Some ((T_id "MemoryAttributes"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_record( (Id_aux( (Id "FullAddress"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), (TypQ_aux( TypQ_no_forall, Unknown)), [ - ((Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "physicaladdress"), Unknown))); - ((Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "NS"), Unknown)));], false)), (Unknown, (Some ((T_id "FullAddress"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_record( (Id_aux( (Id "AddressDescriptor"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), (TypQ_aux( TypQ_no_forall, Unknown)), [ - ((Typ_aux( (Typ_id (Id_aux( (Id "FaultRecord"), Unknown))), Unknown)), (Id_aux( (Id "fault"), Unknown))); - ((Typ_aux( (Typ_id (Id_aux( (Id "MemoryAttributes"), Unknown))), Unknown)), (Id_aux( (Id "memattrs"), Unknown))); - ((Typ_aux( (Typ_id (Id_aux( (Id "FullAddress"), Unknown))), Unknown)), (Id_aux( (Id "paddress"), Unknown)));], false)), (Unknown, (Some ((T_id "AddressDescriptor"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_enum( (Id_aux( (Id "PrefetchHint"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), [(Id_aux( (Id "Prefetch_READ"), Unknown)); (Id_aux( (Id "Prefetch_WRITE"), Unknown)); (Id_aux( (Id "Prefetch_EXEC"), Unknown))], false)), (Unknown, (Some ((T_id "PrefetchHint"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'S"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_bounded_ge( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant one), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "ASR_C"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))])))]), (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'S"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_bounded_ge( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant one), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "LSL_C"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))])))]), (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'S"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_bounded_ge( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant one), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "LSR_C"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))])))]), (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'S"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_bounded_ge( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant one), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_bounded_le( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "ROR_C"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))])))]), (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "IsZero"), Unknown)))), - (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'M"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "implicit"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "Replicate"), Unknown)))), - (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'M"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_bounded_ge( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "implicit"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "SignExtend"), Unknown)))), - (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'M"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_bounded_ge( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "implicit"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "ZeroExtend"), Unknown)))), - (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_app( (Id_aux( (Id "implicit"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "Zeros"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_app( (Id_aux( (Id "implicit"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "Ones"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'M"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "UInt"), Unknown)))), - (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'M"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'M"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "SInt"), Unknown)))), - (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'M"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant one), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant one), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "range"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant zero), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "HighestSetBit"), Unknown)))), - (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "range"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant zero), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "CountLeadingZeroBits"), Unknown)))), - (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'N"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "IsSecure"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "IsSecureBelowEL3"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "SCRType"), Unknown))), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "SCR_GEN"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "SCRType"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "UsingAArch32"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "ELUsingAArch32"), Unknown)))), - (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "Halted"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "HaveEL"), Unknown)))), - (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "HaveAnyAArch32"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "HighestELUsingAArch32"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "Unreachable"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "BranchType"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "Hint_Branch"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "BranchType"), (T_id "unit"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_enum( (Id_aux( (Id "CountOp"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), [(Id_aux( (Id "CountOp_CLZ"), Unknown)); (Id_aux( (Id "CountOp_CLS"), Unknown)); (Id_aux( (Id "CountOp_CNT"), Unknown))], false)), (Unknown, (Some ((T_id "CountOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_enum( (Id_aux( (Id "ExtendType"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), [(Id_aux( (Id "ExtendType_SXTB"), Unknown)); (Id_aux( (Id "ExtendType_SXTH"), Unknown)); (Id_aux( (Id "ExtendType_SXTW"), Unknown)); (Id_aux( (Id "ExtendType_SXTX"), Unknown)); (Id_aux( (Id "ExtendType_UXTB"), Unknown)); (Id_aux( (Id "ExtendType_UXTH"), Unknown)); (Id_aux( (Id "ExtendType_UXTW"), Unknown)); (Id_aux( (Id "ExtendType_UXTX"), Unknown))], false)), (Unknown, (Some ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_enum( (Id_aux( (Id "RevOp"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), [(Id_aux( (Id "RevOp_RBIT"), Unknown)); (Id_aux( (Id "RevOp_REV16"), Unknown)); (Id_aux( (Id "RevOp_REV32"), Unknown)); (Id_aux( (Id "RevOp_REV64"), Unknown))], false)), (Unknown, (Some ((T_id "RevOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_enum( (Id_aux( (Id "ShiftType"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), [(Id_aux( (Id "ShiftType_LSL"), Unknown)); (Id_aux( (Id "ShiftType_LSR"), Unknown)); (Id_aux( (Id "ShiftType_ASR"), Unknown)); (Id_aux( (Id "ShiftType_ROR"), Unknown))], false)), (Unknown, (Some ((T_id "ShiftType"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_enum( (Id_aux( (Id "LogicalOp"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), [(Id_aux( (Id "LogicalOp_AND"), Unknown)); (Id_aux( (Id "LogicalOp_EOR"), Unknown)); (Id_aux( (Id "LogicalOp_ORR"), Unknown))], false)), (Unknown, (Some ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_enum( (Id_aux( (Id "MemOp"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), [(Id_aux( (Id "MemOp_LOAD"), Unknown)); (Id_aux( (Id "MemOp_STORE"), Unknown)); (Id_aux( (Id "MemOp_PREFETCH"), Unknown))], false)), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_enum( (Id_aux( (Id "MemBarrierOp"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), [(Id_aux( (Id "MemBarrierOp_DSB"), Unknown)); (Id_aux( (Id "MemBarrierOp_DMB"), Unknown)); (Id_aux( (Id "MemBarrierOp_ISB"), Unknown))], false)), (Unknown, (Some ((T_id "MemBarrierOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_enum( (Id_aux( (Id "SystemHintOp"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), [(Id_aux( (Id "SystemHintOp_NOP"), Unknown)); (Id_aux( (Id "SystemHintOp_YIELD"), Unknown)); (Id_aux( (Id "SystemHintOp_WFE"), Unknown)); (Id_aux( (Id "SystemHintOp_WFI"), Unknown)); (Id_aux( (Id "SystemHintOp_SEV"), Unknown)); (Id_aux( (Id "SystemHintOp_SEVL"), Unknown))], false)), (Unknown, (Some ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_enum( (Id_aux( (Id "PSTATEField"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), [(Id_aux( (Id "PSTATEField_DAIFSet"), Unknown)); (Id_aux( (Id "PSTATEField_DAIFClr"), Unknown)); (Id_aux( (Id "PSTATEField_SP"), Unknown))], false)), (Unknown, (Some ((T_id "PSTATEField"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "rPC"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_app( (Id_aux( (Id "implicit"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "rSP"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "wX"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "implicit"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "rX"), Unknown)))), - (Unknown, (Some ((T_fn( (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64;Nat_big_num.of_int 128])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "SIMD_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "wV"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64;Nat_big_num.of_int 128])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "implicit"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "SIMD_index"), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "rV"), Unknown)))), - (Unknown, (Some ((T_fn( (T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64;Nat_big_num.of_int 128])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "implicit"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "SIMD_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "range"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant zero), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "rVpart"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))); (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one))])))]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "SCTLR_type"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "SCTLR'"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "SCTLR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "AArch64_UndefinedFault"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "AccType"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "AddressDescriptor"), Unknown))), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "AArch64_TranslateAddress"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "AccType"); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_id "AddressDescriptor"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "AArch64_WFxTrap"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "AccType"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "FaultRecord"), Unknown))), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "AArch64_AlignmentFault"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_id "AccType"); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), (T_id "FaultRecord"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "AArch64_ResetGeneralRegisters"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "AArch64_ResetSIMDFPRegisters"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "AArch64_ResetSpecialRegisters"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "integer"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "AArch64_IsExclusiveVA"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "DoubleLockStatus"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "ELUsingAArch32"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( - (E_aux( (E_case( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "DBGOSDLR"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "DBGOSDLR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "DLK"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_var "'nv102"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_var "'nv102"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_var "'nv102"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_var "'nv102"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_var "'nv102"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( - (E_aux( (E_case( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "DBGPRCR"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "DBGPRCR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "CORENPDRQ"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv88")); (T_arg_nexp (Ne_var "'nv87"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv88")); (T_arg_nexp (Ne_var "'nv87"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv88")); (T_arg_nexp (Ne_var "'nv87"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv88")); (T_arg_nexp (Ne_var "'nv87"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv88")); (T_arg_nexp (Ne_var "'nv87"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "Halted"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( - (E_aux( (E_case( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "OSDLR_EL1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "OSDLR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "DLK"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv207")); (T_arg_nexp (Ne_var "'nv206"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv207")); (T_arg_nexp (Ne_var "'nv206"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv207")); (T_arg_nexp (Ne_var "'nv206"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv207")); (T_arg_nexp (Ne_var "'nv206"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv207")); (T_arg_nexp (Ne_var "'nv206"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( - (E_aux( (E_case( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "DBGPRCR_EL1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "DBGPRCR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "CORENPDRQ"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv192")); (T_arg_nexp (Ne_var "'nv191"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv192")); (T_arg_nexp (Ne_var "'nv191"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv192")); (T_arg_nexp (Ne_var "'nv191"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv192")); (T_arg_nexp (Ne_var "'nv191"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv192")); (T_arg_nexp (Ne_var "'nv191"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "Halted"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_enum( (Id_aux( (Id "signalValue"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), [(Id_aux( (Id "LOw"), Unknown)); (Id_aux( (Id "HIGH"), Unknown))], false)), (Unknown, (Some ((T_id "signalValue"), (Tag_enum one), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "signalValue"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "signalDBGEN"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "not_implemented_extern"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "signalDBGEN"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "signalValue"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "signalValue"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "signalValue"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "signalValue"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "signelNIDEN"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "not_implemented_extern"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "signalNIDEN"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "signalValue"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "signalValue"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "signalValue"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "signalValue"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "signalSPIDEN"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "not_implemented_extern"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "signalSPIDEN"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "signalValue"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "signalValue"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "signalValue"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "signalValue"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "signalDPNIDEN"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "not_implemented_extern"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "signalSPNIDEN"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "signalValue"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "signalValue"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "signalValue"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "ExternalInvasiveDebugEnabled"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "signalDBGEN"), Unknown)), [])), (Unknown, (Some ((T_id "signalValue"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "HIGH"), Unknown))), (Unknown, (Some ((T_id "signalValue"), (Tag_enum one), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "ExternalSecureInvasiveDebugEnabled"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "IsSecure"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "ExternalInvasiveDebugEnabled"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "signalSPIDEN"), Unknown)), [])), (Unknown, (Some ((T_id "signalValue"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "HIGH"), Unknown))), (Unknown, (Some ((T_id "signalValue"), (Tag_enum one), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "DCPSInstruction"), Unknown)), (P_aux( (P_id (Id_aux( (Id "target_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "DCPSInstruction"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "DRPSInstruction"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "DRPSInstruction"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "DebugHalt_Breakpoint"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "DebugHalt_EDBGRQ"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "DebugHalt_Step_Normal"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "DebugHalt_Step_Exclusive"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "DebugHalt_OSUnlockCatch"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "DebugHalt_ResetCatch"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "DebugHalt_Watchpoint"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "DebugHalt_HaltInstruction"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "DebugHalt_SoftwareAccess"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "DebugHalt_ExceptionCatch"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "DebugHalt_Step_NoSyndrome"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "Halt"), Unknown)), (P_aux( (P_id (Id_aux( (Id "reason"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "Halt"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "Halted"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [ - (E_aux( (E_app_infix( (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "EDSCR"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "EDSCR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "STATUS"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "EDSCR"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "EDSCR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "STATUS"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv8")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv10")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "HaltingAllowed"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "Halted"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "DoubleLockStatus"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "IsSecure"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ExternalSecureInvasiveDebugEnabled"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ExternalInvasiveDebugEnabled"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "ReservedValue"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "AArch64_UndefinedFault"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "AArch64_UndefinedFault"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "IsFault"), Unknown)), (P_aux( (P_id (Id_aux( (Id "addrdesc"), Unknown))), (Unknown, (Some ((T_id "AddressDescriptor"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app_infix( (E_aux( (E_field( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "addrdesc"), Unknown))), (Unknown, (Some ((T_id "AddressDescriptor"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "fault"), Unknown)))), (Unknown, (Some ((T_id "FaultRecord"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "type"), Unknown)))), (Unknown, (Some ((T_id "Fault"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_id (Id_aux( (Id "Fault_None"), Unknown))), (Unknown, (Some ((T_id "Fault"), (Tag_enum(Nat_big_num.of_int 18)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "AddressDescriptor"), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "ASR"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "result'"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_app( (Id_aux( (Id "ASR_C"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "0v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "1v"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_tuple [(E_aux( (E_id (Id_aux( (Id "0v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "1v"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result'"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'S"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_bounded_ge( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant one), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))]), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "ASR_C"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown)), (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown)), (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "extended_x"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "SignExtend"), Unknown)), [ - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "extended_x"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv109")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv81"); (Ne_var "'nv82")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv49"), (Ne_var "'nv50"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "carry_out"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector_access( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "extended_x"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv118"), (Ne_var "'nv119"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_tuple [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "carry_out"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))])))]), (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "Align'"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "y"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "y"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "quot"), Unknown)), (E_aux( (E_id (Id_aux( (Id "y"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv29"))]))), (Tag_extern (Some "quot")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv13"), (Ne_var "'nv14"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "Align"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "y"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Align'"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv2"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "y"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "range"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant zero), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "CountLeadingSignBits"), Unknown)), (P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "CountLeadingZeroBits"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv158")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv132"), (Ne_var "'nv133"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv85"), (Ne_const zero))); (Ne_const one)])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv85"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv80")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv85"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "^"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv119")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv93"), (Ne_var "'nv94"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv85")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv85"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv80")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv85"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv80")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv85"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_xor")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv85"), (Ne_const zero))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv85"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv85"), (Ne_const zero))); (Ne_const one)]))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'N"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'N"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "range"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant zero), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "CountLeadingZeroBits"), Unknown)), (P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv1"); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_app( (Id_aux( (Id "HighestSetBit"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv1"); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv1"); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv1"); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)]))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)]))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "Some"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv1"); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv98")); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)]))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv72"), (Ne_var "'nv73"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv40"), (Ne_var "'nv41"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv40"), (Ne_var "'nv41"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv40"), (Ne_var "'nv41"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)]))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv1"); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv1"); (Ne_const one)]))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'M"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_bounded_le( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown)), (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "implicit"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "Extend"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'M"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "Extend"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "unsigned"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "unsigned"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "SignExtend"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "range"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant zero), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "HighestSetBit"), Unknown)), (P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "range"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant zero), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bool"), Unknown))), Unknown)), (Id_aux( (Id "break"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "bool"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_for( (Id_aux( (Id "i"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv10"), (Ne_var "'nv11"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Ord_aux( Ord_dec, Unknown)), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "break"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "bool"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_case( - (E_aux( (E_vector_access( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "i"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv7"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv78")); (T_arg_nexp (Ne_var "'nv77"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv78")); (T_arg_nexp (Ne_var "'nv77"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv78")); (T_arg_nexp (Ne_var "'nv77"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv78")); (T_arg_nexp (Ne_var "'nv77"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv78")); (T_arg_nexp (Ne_var "'nv77"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "i"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv7"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "break"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "bool"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))) ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "break"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "bool"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "integer"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "Int"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "unsigned"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "unsigned"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv2"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "SInt"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv6"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "IsZero"), Unknown)), (P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "IsZeroBit"), Unknown)), (P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "IsZero"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "bit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_id "bit"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "LSL"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "result'"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_app( (Id_aux( (Id "LSL_C"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "0v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "1v"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_tuple [(E_aux( (E_id (Id_aux( (Id "0v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "1v"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result'"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'S"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_bounded_ge( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant one), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))]), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "LSL_C"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "extended_x"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_var "'S")]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_var "'S")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Zeros"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'S")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'S")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'S")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_var "'N"); (Ne_var "'S")]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_var "'S")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_var "'S")]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_var "'S")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "mask"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "extended_x"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_var "'S")]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_var "'S")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_var "'S")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv10")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "mask")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "carry_out"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector_access( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "extended_x"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_var "'S")]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_var "'S")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_var "'S")]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_var "'S")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv14")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_tuple [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "carry_out"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))])))]), (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "LSR"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "result'"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_app( (Id_aux( (Id "LSR_C"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "0v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "1v"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_tuple [(E_aux( (E_id (Id_aux( (Id "0v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "1v"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result'"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'S"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_bounded_ge( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant one), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))]), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "LSR_C"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "extended_x"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_var "'S")]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_var "'S")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [ - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_var "'S")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_var "'S")]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_var "'S")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_var "'S")]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_var "'S")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "extended_x"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_var "'S")]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_var "'S")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_var "'S")]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_var "'S")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv109")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv81"); (Ne_var "'nv82")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv49"), (Ne_var "'nv50"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "carry_out"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector_access( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "extended_x"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_var "'S")]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_var "'S")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_var "'S")]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_var "'S")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv118"), (Ne_var "'nv119"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_tuple [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "carry_out"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))])))]), (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv7"), (Ne_var "'S"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "integer"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "Min"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "a"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "b"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "a"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "<="), Unknown)), (E_aux( (E_id (Id_aux( (Id "b"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "lteq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "a"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "b"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)])))))]), (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "uMin"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "a"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "b"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "a"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "<="), Unknown)), (E_aux( (E_id (Id_aux( (Id "b"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "lteq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "a"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "b"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "NOT"), Unknown)), (P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_not")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "NOT'"), Unknown)), (P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "bit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "bit"), (T_id "bit"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "Ones"), Unknown)), (P_aux( (P_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Replicate"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const one); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "ROR"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "result'"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_app( (Id_aux( (Id "ROR_C"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "0v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "1v"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_tuple [(E_aux( (E_id (Id_aux( (Id "0v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "1v"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result'"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'S"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_bounded_ge( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant one), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_bounded_le( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))]), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "ROR_C"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "nat"), Unknown))), Unknown)), (Id_aux( (Id "m"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "nat"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "mod"), Unknown)), (E_aux( (E_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_minus( (Ne_var "'nv9"), (Ne_const one))))]))), (Tag_extern (Some "modulo")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "LSR"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "nat"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "LSL"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "nat"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv46"), (Ne_var "'nv47"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_or")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "carry_out"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector_access( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv78"), (Ne_var "'nv79"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_tuple [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "carry_out"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))])))]), (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'M"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "Replicate"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_var "'nv8"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "M"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_var "'nv8"))]))); (T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_tuple [(E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'M"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'M"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'M"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_var "'nv8"))]))); (T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_var "'nv8"))]))); (T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_app_infix( - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_var "'nv8"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "mod"), Unknown)), (E_aux( (E_id (Id_aux( (Id "M"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_minus( (Ne_var "'nv31"), (Ne_const one))))]))), (Tag_extern (Some "modulo")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "zeros"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'N"), (Ne_var "'M"))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_minus( (Ne_var "'N"), (Ne_var "'M")))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Zeros"), Unknown)), [ - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'M"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'M"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'N"), (Ne_var "'M"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'N"), (Ne_var "'M"))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_minus( (Ne_var "'N"), (Ne_var "'M")))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'N"), (Ne_var "'M"))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_minus( (Ne_var "'N"), (Ne_var "'M")))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_for( (Id_aux( (Id "i"), Unknown)), (E_aux( (E_id (Id_aux( (Id "M"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_var "'nv8"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "M"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Ord_aux( Ord_inc, Unknown)), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "<<"), Unknown)), (E_aux( (E_id (Id_aux( (Id "M"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_leftshift")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "zeros"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'N"), (Ne_var "'M"))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_minus( (Ne_var "'N"), (Ne_var "'M")))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv50")); (T_arg_nexp (Ne_minus( (Ne_var "'N"), (Ne_var "'M")))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv52")); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_minus( (Ne_var "'N"), (Ne_var "'M"))); (Ne_var "'M")]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'N"), (Ne_var "'M"))); (Ne_var "'M")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_or")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))) ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'M"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "SInt"), Unknown)), (P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "signed"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv4"))]))), (Tag_extern (Some "signed")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv4"))]))), (Tag_extern (Some "signed")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'M"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'M"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'M"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "SignExtend"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv2"); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'nv2"); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_as( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "h"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "remainder"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_var "'nv2")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv2"); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'nv2"); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "x"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv2"); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'nv2"); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv2"); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'nv2"); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Replicate"), Unknown)), [ - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv2"); (Ne_const one)]))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv2"); (Ne_const one)]))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'N"), (Ne_add [(Ne_var "'nv2"); (Ne_const one)]))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_id (Id_aux( (Id "h"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const one); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'N"), (Ne_add [(Ne_var "'nv2"); (Ne_const one)]))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_minus( (Ne_var "'N"), (Ne_add [(Ne_var "'nv2"); (Ne_const one)])))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'N"), (Ne_add [(Ne_var "'nv2"); (Ne_const one)]))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_minus( (Ne_var "'N"), (Ne_add [(Ne_var "'nv2"); (Ne_const one)])))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'N"), (Ne_add [(Ne_var "'nv2"); (Ne_const one)]))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_minus( (Ne_var "'N"), (Ne_add [(Ne_var "'nv2"); (Ne_const one)])))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv2"); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'nv2"); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_add [(Ne_var "'nv2"); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_minus( (Ne_var "'N"), (Ne_add [(Ne_var "'nv2"); (Ne_const one)]))); (Ne_add [(Ne_var "'nv2"); (Ne_const one)])]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'N"), (Ne_add [(Ne_var "'nv2"); (Ne_const one)]))); (Ne_add [(Ne_var "'nv2"); (Ne_const one)])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv2"); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'nv2"); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'M"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "UInt"), Unknown)), (P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "unsigned"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv4"))]))), (Tag_extern (Some "unsigned")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'M"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'M"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'M"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "ZeroExtend"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Zeros"), Unknown)), [ - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'M"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'M"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_lit (L_aux( (L_num ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'M"), (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1))))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_mult( (Ne_var "'M"), (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))))]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_mult( (Ne_var "'M"), (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))))]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_mult( (Ne_var "'M"), (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))))])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_mult( (Ne_var "'M"), (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))))]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_mult( (Ne_var "'M"), (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))))])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_mult( (Ne_var "'M"), (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))))]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_mult( (Ne_var "'M"), (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))))])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_mult( (Ne_var "'M"), (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))))]); (Ne_var "'M")]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'N"); (Ne_mult( (Ne_var "'M"), (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))))]); (Ne_var "'M")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "Zeros"), Unknown)), (P_aux( (P_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "BitReverse"), Unknown)), (P_aux( (P_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_for( (Id_aux( (Id "i"), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv10"), (Ne_var "'nv11"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Ord_aux( Ord_inc, Unknown)), - (E_aux( (E_assign( (LEXP_aux( (LEXP_vector( - (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_id (Id_aux( (Id "i"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv6"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv93"), (Ne_var "'nv94"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv67"), (Ne_var "'nv68"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_vector_access( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "i"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv6"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))) ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "HaveCRCExt"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "IMPLEMENTATION_DEFINED"), Unknown))), (Unknown, (Some ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "HaveCRCExt"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtyone), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtytwo), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "Poly32Mod2"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "poly"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id ">"), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "gt")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "data'"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_minus( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant thirtytwo), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_minus( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant thirtytwo), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "zeros"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'N"), (Ne_const thirtytwo))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_minus( (Ne_var "'N"), (Ne_const thirtytwo)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Zeros"), Unknown)), [(E_aux( (E_app_infix( - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'N"), (Ne_const thirtytwo))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'N"), (Ne_const thirtytwo))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_minus( (Ne_var "'N"), (Ne_const thirtytwo)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'N"), (Ne_const thirtytwo))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_minus( (Ne_var "'N"), (Ne_const thirtytwo)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_for( (Id_aux( (Id "i"), Unknown)), (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv15"), (Ne_var "'nv16"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Ord_aux( Ord_dec, Unknown)), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( - (E_aux( (E_vector_access( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "i"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_var "'nv12"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv58")); (T_arg_nexp (Ne_var "'nv57"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv58")); (T_arg_nexp (Ne_var "'nv57"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv58")); (T_arg_nexp (Ne_var "'nv57"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv58")); (T_arg_nexp (Ne_var "'nv57"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv58")); (T_arg_nexp (Ne_var "'nv57"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_vector_range( - (LEXP_aux( (LEXP_id (Id_aux( (Id "data'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "i"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_var "'nv12"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv66"), (Ne_var "'nv67"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv63")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv63"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "i"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_var "'nv12"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv209"), (Ne_var "'nv210"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv205")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv63"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv163")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv63"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "^"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "poly"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv166")); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "zeros"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'N"), (Ne_const thirtytwo))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_minus( (Ne_var "'N"), (Ne_const thirtytwo)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'N"), (Ne_const thirtytwo))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_minus( (Ne_var "'N"), (Ne_const thirtytwo)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "i"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_var "'nv12"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num(Nat_big_num.of_int 33)), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 33)))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv176"), (Ne_var "'nv177"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv172")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv172"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv168")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv172"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const thirtytwo); (Ne_add [(Ne_minus( (Ne_var "'nv172"), (Ne_const zero))); (Ne_const one)])]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_add [(Ne_minus( (Ne_var "'nv172"), (Ne_const zero))); (Ne_const one)])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv163")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv63"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv163")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv63"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_xor")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv63")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv63"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))) ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "ClearExclusiveByAddress"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "paddress"), Unknown))), (Unknown, (Some ((T_id "FullAddress"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "processorid"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "FullAddress"); (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "info"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "The model does not implement the exclusive monitors explicitly."), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "FullAddress"); (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_id "unit"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "ClearExclusiveLocal"), Unknown)), (P_aux( (P_id (Id_aux( (Id "processorid"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "int"), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "info"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "The model does not implement the exclusive monitors explicitly."), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_abbrev( (T_id "int"), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), (T_id "unit"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "ExclusiveMonitorsStatus"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "info"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "The model does not implement the exclusive monitors explicitly."), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "ExclusiveMonitorsStatus should not be called"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "bit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "bit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "IsExclusiveGlobal"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "paddress"), Unknown))), (Unknown, (Some ((T_id "FullAddress"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "processorid"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "FullAddress"); (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "info"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "The model does not implement the exclusive monitors explicitly."), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "FullAddress"); (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "IsExclusiveLocal"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "paddress"), Unknown))), (Unknown, (Some ((T_id "FullAddress"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "processorid"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "FullAddress"); (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "info"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "The model does not implement the exclusive monitors explicitly."), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "FullAddress"); (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "MarkExclusiveGlobal"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "paddress"), Unknown))), (Unknown, (Some ((T_id "FullAddress"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "processorid"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "FullAddress"); (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "info"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "The model does not implement the exclusive monitors explicitly."), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "FullAddress"); (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_id "unit"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "MarkExclusiveLocal"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "paddress"), Unknown))), (Unknown, (Some ((T_id "FullAddress"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "processorid"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "FullAddress"); (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "info"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "The model does not implement the exclusive monitors explicitly."), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "FullAddress"); (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_id "unit"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "integer"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "ProcessorID"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AddWithCarry"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "y"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "carry_in"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "unsigned_sum"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv116"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "y"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv114"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv85"); (Ne_var "'nv86")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_id (Id_aux( (Id "carry_in"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const one); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv76"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv47"); (Ne_var "'nv48")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "integer"), Unknown))), Unknown)), (Id_aux( (Id "signed_sum"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "SInt"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv232"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "SInt"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "y"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv230"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv201"); (Ne_var "'nv202")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_id (Id_aux( (Id "carry_in"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const one); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv192"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv163"); (Ne_var "'nv164")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "x"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "unsigned_sum"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector_access( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv268")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv242"), (Ne_var "'nv243"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "z"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "IsZero"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "c"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv287"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "unsigned_sum"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "v"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "SInt"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv304"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "signed_sum"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_tuple [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv306")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_id (Id_aux( (Id "z"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv310")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_id (Id_aux( (Id "c"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv314")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_id (Id_aux( (Id "v"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv316")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const one); (Ne_const one)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv312")); (T_arg_nexp (Ne_var "'nv311")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const one); (Ne_var "'nv311")]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_var "'nv311")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv308")); (T_arg_nexp (Ne_var "'nv307")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const one); (Ne_var "'nv307")]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_var "'nv307")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "BigEndian"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "bigend"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "UsingAArch32"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "bigend"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "PSTATE_E"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "PSTATE_E")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "bigend"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "SCTLR_EL1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SCTLR_EL1_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "E0E"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "bigend"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_field( (E_aux( (E_app( (Id_aux( (Id "SCTLR'"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "SCTLR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "EE"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'nv42"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'nv42"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'nv42"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'nv42"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'nv42"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "bigend"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'W"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'W"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64;Nat_big_num.of_int 128])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'W"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'W"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'W"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'W"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "BigEndianReverse"), Unknown)))), - (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_rec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'W"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'W"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64;Nat_big_num.of_int 128])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'W"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'W"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "BigEndianReverse"), Unknown)), (P_aux( (P_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "width"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'W"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "half"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "width"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "quot"), Unknown)), (E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv7"))]))), (Tag_extern (Some "quot")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "width"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "BigEndianReverse"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "half"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv41"), (Ne_var "'nv42"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv37")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv37"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv37"), (Ne_const zero))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv37"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv37"), (Ne_const zero))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv37"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv37"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "BigEndianReverse"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "width"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv75"), (Ne_var "'nv76"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "half"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv71")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv71"), (Ne_var "'nv72"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv71"), (Ne_var "'nv72"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv71"), (Ne_var "'nv72"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv71"), (Ne_var "'nv72"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv71"), (Ne_var "'nv72"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv32")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv71"), (Ne_var "'nv72"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv37"), (Ne_const zero))); (Ne_const one)]); (Ne_add [(Ne_minus( (Ne_var "'nv71"), (Ne_var "'nv72"))); (Ne_const one)])]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv37"), (Ne_const zero))); (Ne_const one)]); (Ne_add [(Ne_minus( (Ne_var "'nv71"), (Ne_var "'nv72"))); (Ne_const one)])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'W"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'W")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_extern_no_rename( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "DataMemoryBarrier_Reads"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_extern_no_rename( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "DataMemoryBarrier_Writes"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_extern_no_rename( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "DataMemoryBarrier_All"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "DataMemoryBarrier"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "domain"), Unknown))), (Unknown, (Some ((T_id "MBReqDomain"), (Tag_enum four), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "types"), Unknown))), (Unknown, (Some ((T_id "MBReqTypes"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "MBReqDomain"); (T_id "MBReqTypes")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "domain"), Unknown))), (Unknown, (Some ((T_id "MBReqDomain"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MBReqDomain_FullSystem"), Unknown))), (Unknown, (Some ((T_id "MBReqDomain"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "domain"), Unknown))), (Unknown, (Some ((T_id "MBReqDomain"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MBReqDomain_InnerShareable"), Unknown))), (Unknown, (Some ((T_id "MBReqDomain"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "DataMemoryBarrier: not MBReqDomain_FullSystem or _InnerShareable"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "types"), Unknown))), (Unknown, (Some ((T_id "MBReqTypes"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MBReqTypes_Reads"), Unknown)), [])), (Unknown, (Some ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "DataMemoryBarrier_Reads"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MBReqTypes_Writes"), Unknown)), [])), (Unknown, (Some ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "DataMemoryBarrier_Writes"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MBReqTypes_All"), Unknown)), [])), (Unknown, (Some ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "DataMemoryBarrier_All"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "MBReqDomain"); (T_id "MBReqTypes")]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_extern_no_rename( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "DataSynchronizationBarrier_Reads"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_extern_no_rename( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "DataSynchronizationBarrier_Writes"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_extern_no_rename( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "DataSynchronizationBarrier_All"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "DataSynchronizationBarrier"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "domain"), Unknown))), (Unknown, (Some ((T_id "MBReqDomain"), (Tag_enum four), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "types"), Unknown))), (Unknown, (Some ((T_id "MBReqTypes"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "MBReqDomain"); (T_id "MBReqTypes")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "domain"), Unknown))), (Unknown, (Some ((T_id "MBReqDomain"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MBReqDomain_FullSystem"), Unknown))), (Unknown, (Some ((T_id "MBReqDomain"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "DataSynchronizationBarrier: not MBReqDomain_FullSystem"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "types"), Unknown))), (Unknown, (Some ((T_id "MBReqTypes"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MBReqTypes_Reads"), Unknown)), [])), (Unknown, (Some ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "DataSynchronizationBarrier_Reads"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MBReqTypes_Writes"), Unknown)), [])), (Unknown, (Some ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "DataSynchronizationBarrier_Writes"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MBReqTypes_All"), Unknown)), [])), (Unknown, (Some ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "DataSynchronizationBarrier_All"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "MBReqDomain"); (T_id "MBReqTypes")]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "PrefetchHint"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "integer"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "Hint_Prefetch"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "PrefetchHint"); (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), (T_id "unit"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "Hint_Prefetch"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "addr"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "hint"), Unknown))), (Unknown, (Some ((T_id "PrefetchHint"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "target"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "stream"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "PrefetchHint"); (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "PrefetchHint"); (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), (T_id "unit"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_extern_no_rename( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "rMem_NORMAL"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))])))]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown)))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_extern_no_rename( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "rMem_STREAM"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))])))]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown)))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_extern_no_rename( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "rMem_ORDERED"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))])))]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown)))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_extern_no_rename( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "rMem_ATOMIC"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))])))]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown)))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_extern_no_rename( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "rMem_ATOMIC_ORDERED"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))])))]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown)))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_record( (Id_aux( (Id "read_buffer_type"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), (TypQ_aux( TypQ_no_forall, Unknown)), [ - ((Typ_aux( (Typ_id (Id_aux( (Id "AccType"), Unknown))), Unknown)), (Id_aux( (Id "acctype"), Unknown))); - ((Typ_aux( (Typ_id (Id_aux( (Id "bool"), Unknown))), Unknown)), (Id_aux( (Id "exclusive"), Unknown))); - ((Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "address"), Unknown))); - ((Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "size"), Unknown)));], false)), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "empty_read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_record (FES_aux( (FES_Fexps( [(FE_aux( (FE_Fexp( (Id_aux( (Id "size"), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "acctype"), Unknown)), (E_aux( (E_id (Id_aux( (Id "AccType_NORMAL"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "AccType"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "exclusive"), Unknown)), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "address"), Unknown)), (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))], false)), (Unknown,None)))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "read_buffer_type"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "_rMem"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "desc"), Unknown))), (Unknown, (Some ((T_id "AddressDescriptor"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 12)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "exclusive"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "read_buffer_type"); (T_id "AddressDescriptor"); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType"); (T_abbrev( (T_id "bool"), (T_id "bit")))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_record (FES_aux( (FES_Fexps( [ - (FE_aux( (FE_Fexp( (Id_aux( (Id "acctype"), Unknown)), (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "AccType"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "exclusive"), Unknown)), (E_aux( (E_id (Id_aux( (Id "exclusive"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "address"), Unknown)), - (E_aux( (E_field( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "desc"), Unknown))), (Unknown, (Some ((T_id "AddressDescriptor"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "paddress"), Unknown)))), (Unknown, (Some ((T_id "FullAddress"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "physicaladdress"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "size"), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))], false)), (Unknown,None)))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_app_infix( - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "acctype"), Unknown)))), (Unknown, (Some ((T_id "AccType"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assert( (E_aux( (E_app_infix( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "exclusive"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "exclusive"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assert( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "address"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv76")); (T_arg_nexp (Ne_var "'nv77")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv76")); (T_arg_nexp (Ne_var "'nv77")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv65")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_field( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "desc"), Unknown))), (Unknown, (Some ((T_id "AddressDescriptor"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "paddress"), Unknown)))), (Unknown, (Some ((T_id "FullAddress"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "physicaladdress"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv66")); (T_arg_nexp (Ne_var "'nv65")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_record_update( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (FES_aux( (FES_Fexps( [ - (FE_aux( (FE_Fexp( (Id_aux( (Id "size"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv97"); (Ne_var "'nv98")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv97"); (Ne_var "'nv98")]))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))], false)), (Unknown,None))))), (Unknown,(Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "read_buffer_type"); (T_id "AddressDescriptor"); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType"); (T_abbrev( (T_id "bool"), (T_id "bit")))]), (T_id "read_buffer_type"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "flush_read_buffer"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "read_buffer_type"); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_app_infix( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "value"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "exclusive"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_case( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "acctype"), Unknown)))), (Unknown, (Some ((T_id "AccType"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "AccType_ATOMIC"), Unknown)), [])), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rMem_ATOMIC"), Unknown)), [ - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "address"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv14"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv14"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "AccType_ORDERED"), Unknown)), [])), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rMem_ATOMIC_ORDERED"), Unknown)), [ - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "address"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv15"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv15"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( P_wild, (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "unimplemented memory access"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_case( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "acctype"), Unknown)))), (Unknown, (Some ((T_id "AccType"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "AccType_NORMAL"), Unknown)), [])), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rMem_NORMAL"), Unknown)), [ - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "address"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv16"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv16"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "AccType_STREAM"), Unknown)), [])), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rMem_STREAM"), Unknown)), [ - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "address"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv17"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv17"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "AccType_UNPRIV"), Unknown)), [])), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rMem_NORMAL"), Unknown)), [ - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "address"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv18"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv18"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "AccType_ORDERED"), Unknown)), [])), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rMem_ORDERED"), Unknown)), [ - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "address"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv19"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv19"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "AccType_ATOMIC"), Unknown)), [])), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assert( (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "Reached AccType_ATOMIC: unreachable when address values are known"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "BigEndian"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "BigEndianReverse"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "read_buffer_type"); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))])))]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_extern_no_rename( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "wMem_Addr_NORMAL"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))])))]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown)))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_extern_no_rename( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "wMem_Addr_ORDERED"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))])))]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown)))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_extern_no_rename( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "wMem_Addr_ATOMIC"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))])))]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown)))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_extern_no_rename( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "wMem_Addr_ATOMIC_ORDERED"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))])))]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown)))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "wMem_Addr"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 12)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "excl"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType"); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_case( (E_aux( (E_tuple [(E_aux( (E_id (Id_aux( (Id "excl"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_id "AccType")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_app( (Id_aux( (Id "AccType_NORMAL"), Unknown)), [])), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "bit"); (T_id "AccType")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem_Addr_NORMAL"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_app( (Id_aux( (Id "AccType_STREAM"), Unknown)), [])), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "bit"); (T_id "AccType")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem_Addr_NORMAL"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_app( (Id_aux( (Id "AccType_UNPRIV"), Unknown)), [])), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "bit"); (T_id "AccType")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem_Addr_NORMAL"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_app( (Id_aux( (Id "AccType_ORDERED"), Unknown)), [])), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "bit"); (T_id "AccType")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem_Addr_ORDERED"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_app( (Id_aux( (Id "AccType_ATOMIC"), Unknown)), [])), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "bit"); (T_id "AccType")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem_Addr_ATOMIC"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_app( (Id_aux( (Id "AccType_ORDERED"), Unknown)), [])), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "bit"); (T_id "AccType")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem_Addr_ATOMIC_ORDERED"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_eamem, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( P_wild, (Unknown, (Some ((T_tup [(T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_id "AccType")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "unrecognised memory access"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType"); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_extern_no_rename( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "wMem_Val_NORMAL"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown)))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_extern_no_rename( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "bool"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "wMem_Val_ATOMIC"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (T_abbrev( (T_id "bool"), (T_id "bit"))), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown)))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_record( (Id_aux( (Id "write_buffer_type"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), (TypQ_aux( TypQ_no_forall, Unknown)), [ - ((Typ_aux( (Typ_id (Id_aux( (Id "AccType"), Unknown))), Unknown)), (Id_aux( (Id "acctype"), Unknown))); - ((Typ_aux( (Typ_id (Id_aux( (Id "bool"), Unknown))), Unknown)), (Id_aux( (Id "exclusive"), Unknown))); - ((Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "address"), Unknown))); - ((Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "value"), Unknown))); - ((Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "size"), Unknown)));], false)), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_val (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "empty_write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_record (FES_aux( (FES_Fexps( [(FE_aux( (FE_Fexp( (Id_aux( (Id "size"), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "acctype"), Unknown)), (E_aux( (E_id (Id_aux( (Id "AccType_NORMAL"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "AccType"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "exclusive"), Unknown)), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "address"), Unknown)), (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "value"), Unknown)), (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num onetwentyeight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const onetwentyeight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))], false)), (Unknown,None)))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "write_buffer_type"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "_wMem"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "desc"), Unknown))), (Unknown, (Some ((T_id "AddressDescriptor"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 12)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "exclusive"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "write_buffer_type"); (T_id "AddressDescriptor"); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType"); (T_abbrev( (T_id "bool"), (T_id "bit"))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_record (FES_aux( (FES_Fexps( [ - (FE_aux( (FE_Fexp( (Id_aux( (Id "acctype"), Unknown)), (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "AccType"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "exclusive"), Unknown)), (E_aux( (E_id (Id_aux( (Id "exclusive"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "address"), Unknown)), - (E_aux( (E_field( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "desc"), Unknown))), (Unknown, (Some ((T_id "AddressDescriptor"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "paddress"), Unknown)))), (Unknown, (Some ((T_id "FullAddress"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "physicaladdress"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "value"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num onetwentyeight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const onetwentyeight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const onetwentyeight); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "size"), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))], false)), (Unknown,None)))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_app_infix( - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "acctype"), Unknown)))), (Unknown, (Some ((T_id "AccType"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assert( (E_aux( (E_app_infix( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "exclusive"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "exclusive"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assert( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "address"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv78")); (T_arg_nexp (Ne_var "'nv79")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv78")); (T_arg_nexp (Ne_var "'nv79")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv66")); (T_arg_nexp (Ne_var "'nv67")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_field( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "desc"), Unknown))), (Unknown, (Some ((T_id "AddressDescriptor"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "paddress"), Unknown)))), (Unknown, (Some ((T_id "FullAddress"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "physicaladdress"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv68")); (T_arg_nexp (Ne_var "'nv67")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_record_update( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (FES_aux( (FES_Fexps( [ - (FE_aux( (FE_Fexp( (Id_aux( (Id "value"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num onetwentyeight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const onetwentyeight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv130")); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "value"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv134")); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv186"), (Ne_var "'nv187"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv158"), (Ne_var "'nv159"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv136")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv136"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv132")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv136"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_add [(Ne_minus( (Ne_var "'nv136"), (Ne_const zero))); (Ne_const one)])]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_add [(Ne_minus( (Ne_var "'nv136"), (Ne_const zero))); (Ne_const one)])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv128"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv128")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const onetwentyeight); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "size"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv99"); (Ne_var "'nv100")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv99"); (Ne_var "'nv100")]))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))], false)), (Unknown,None))))), (Unknown,(Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "write_buffer_type"); (T_id "AddressDescriptor"); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType"); (T_abbrev( (T_id "bool"), (T_id "bit"))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (T_id "write_buffer_type"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "flush_write_buffer"), Unknown)), (P_aux( (P_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_app_infix( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "exclusive"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "acctype"), Unknown)))), (Unknown, (Some ((T_id "AccType"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "AccType_NORMAL"), Unknown)), [])), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem_Val_NORMAL"), Unknown)), [(E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "value"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv65"), (Ne_var "'nv66"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv37"), (Ne_var "'nv38"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_mult( (Ne_var "'nv11"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv11"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv11"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "AccType_STREAM"), Unknown)), [])), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem_Val_NORMAL"), Unknown)), [(E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "value"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv133"), (Ne_var "'nv134"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv105"), (Ne_var "'nv106"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv83")); (T_arg_nexp (Ne_mult( (Ne_var "'nv79"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv79"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv79"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "AccType_UNPRIV"), Unknown)), [])), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem_Val_NORMAL"), Unknown)), [(E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "value"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv149")); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv201"), (Ne_var "'nv202"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv173"), (Ne_var "'nv174"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv151")); (T_arg_nexp (Ne_mult( (Ne_var "'nv147"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv147"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv147"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "AccType_ORDERED"), Unknown)), [])), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem_Val_NORMAL"), Unknown)), [(E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "value"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv217")); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv269"), (Ne_var "'nv270"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv241"), (Ne_var "'nv242"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv219")); (T_arg_nexp (Ne_mult( (Ne_var "'nv215"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv215"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv215"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( P_wild, (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "unrecognised memory access"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "write_buffer_type"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "bool"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "flush_write_buffer_exclusive"), Unknown)), (P_aux( (P_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "exclusive"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "acctype"), Unknown)))), (Unknown, (Some ((T_id "AccType"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "AccType_ATOMIC"), Unknown)), [])), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem_Val_ATOMIC"), Unknown)), [(E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "value"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv54"), (Ne_var "'nv55"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv26"), (Ne_var "'nv27"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_mult( (Ne_var "'nv0"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv0"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv0"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "AccType_ORDERED"), Unknown)), [])), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem_Val_ATOMIC"), Unknown)), [(E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "value"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv70")); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv122"), (Ne_var "'nv123"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv94"), (Ne_var "'nv95"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv72")); (T_arg_nexp (Ne_mult( (Ne_var "'nv68"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv68"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv68"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( P_wild, (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "unrecognised memory access"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "write_buffer_type"), (T_abbrev( (T_id "bool"), (T_id "bit"))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "BranchTo"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "target"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "branch_type"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "BranchType")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "target'"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "target"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Hint_Branch"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "branch_type"), Unknown))), (Unknown, (Some ((T_id "BranchType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "target"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv18")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_app( (Id_aux( (Id "UsingAArch32"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "_PC"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "_PC")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "target"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "_PC")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "_PC")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_app_infix( (E_aux( (E_app_infix( - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "target"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv65")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv65"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "UsingAArch32"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "pstate_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "pstate_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv66")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv68")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_app_infix( - (E_aux( (E_case( - (E_aux( (E_vector_access( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "target'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num fiftyfive), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const fiftyfive))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv139")); (T_arg_nexp (Ne_var "'nv138"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv139")); (T_arg_nexp (Ne_var "'nv138"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv139")); (T_arg_nexp (Ne_var "'nv138"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv139")); (T_arg_nexp (Ne_var "'nv138"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv139")); (T_arg_nexp (Ne_var "'nv138"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( - (E_aux( (E_case( - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "TCR_EL1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "TCR_EL1_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "TBI1"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv121")); (T_arg_nexp (Ne_var "'nv120"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv121")); (T_arg_nexp (Ne_var "'nv120"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv121")); (T_arg_nexp (Ne_var "'nv120"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv121")); (T_arg_nexp (Ne_var "'nv120"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv121")); (T_arg_nexp (Ne_var "'nv120"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( - (LEXP_vector_range( - (LEXP_aux( (LEXP_id (Id_aux( (Id "target'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num sixtythree), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtythree))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num fiftysix), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const fiftysix))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const sixtythree), (Ne_const fiftysix))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_minus( (Nexp_aux( (Nexp_constant sixtythree), Unknown)), (Nexp_aux( (Nexp_constant fiftysix), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant one), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const sixtythree), (Ne_const fiftysix))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( - (E_aux( (E_case( - (E_aux( (E_vector_access( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "target'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num fiftyfive), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const fiftyfive))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv216")); (T_arg_nexp (Ne_var "'nv215"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv216")); (T_arg_nexp (Ne_var "'nv215"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv216")); (T_arg_nexp (Ne_var "'nv215"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv216")); (T_arg_nexp (Ne_var "'nv215"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv216")); (T_arg_nexp (Ne_var "'nv215"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_case( - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "TCR_EL1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "TCR_EL1_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "TBI0"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv198")); (T_arg_nexp (Ne_var "'nv197"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv198")); (T_arg_nexp (Ne_var "'nv197"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv198")); (T_arg_nexp (Ne_var "'nv197"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv198")); (T_arg_nexp (Ne_var "'nv197"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv198")); (T_arg_nexp (Ne_var "'nv197"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_vector_range( - (LEXP_aux( (LEXP_id (Id_aux( (Id "target'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num sixtythree), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtythree))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num fiftysix), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const fiftysix))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const sixtythree), (Ne_const fiftysix))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_minus( (Nexp_aux( (Nexp_constant sixtythree), Unknown)), (Nexp_aux( (Nexp_constant fiftysix), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant one), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const sixtythree), (Ne_const fiftysix))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "pstate_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv223")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv225")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_app_infix( - (E_aux( (E_case( - (E_aux( (E_vector_access( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "target'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num fiftyfive), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const fiftyfive))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv296")); (T_arg_nexp (Ne_var "'nv295"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv296")); (T_arg_nexp (Ne_var "'nv295"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv296")); (T_arg_nexp (Ne_var "'nv295"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv296")); (T_arg_nexp (Ne_var "'nv295"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv296")); (T_arg_nexp (Ne_var "'nv295"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( - (E_aux( (E_case( - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "TCR_EL1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "TCR_EL1_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "TBI1"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv278")); (T_arg_nexp (Ne_var "'nv277"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv278")); (T_arg_nexp (Ne_var "'nv277"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv278")); (T_arg_nexp (Ne_var "'nv277"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv278")); (T_arg_nexp (Ne_var "'nv277"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv278")); (T_arg_nexp (Ne_var "'nv277"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( - (LEXP_vector_range( - (LEXP_aux( (LEXP_id (Id_aux( (Id "target'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num sixtythree), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtythree))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num fiftysix), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const fiftysix))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const sixtythree), (Ne_const fiftysix))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_minus( (Nexp_aux( (Nexp_constant sixtythree), Unknown)), (Nexp_aux( (Nexp_constant fiftysix), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant one), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const sixtythree), (Ne_const fiftysix))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( - (E_aux( (E_case( - (E_aux( (E_vector_access( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "target'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num fiftyfive), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const fiftyfive))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv373")); (T_arg_nexp (Ne_var "'nv372"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv373")); (T_arg_nexp (Ne_var "'nv372"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv373")); (T_arg_nexp (Ne_var "'nv372"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv373")); (T_arg_nexp (Ne_var "'nv372"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv373")); (T_arg_nexp (Ne_var "'nv372"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_case( - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "TCR_EL1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "TCR_EL1_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "TBI0"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv355")); (T_arg_nexp (Ne_var "'nv354"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv355")); (T_arg_nexp (Ne_var "'nv354"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv355")); (T_arg_nexp (Ne_var "'nv354"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv355")); (T_arg_nexp (Ne_var "'nv354"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv355")); (T_arg_nexp (Ne_var "'nv354"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_vector_range( - (LEXP_aux( (LEXP_id (Id_aux( (Id "target'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num sixtythree), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtythree))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num fiftysix), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const fiftysix))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const sixtythree), (Ne_const fiftysix))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_minus( (Nexp_aux( (Nexp_constant sixtythree), Unknown)), (Nexp_aux( (Nexp_constant fiftysix), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant one), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const sixtythree), (Ne_const fiftysix))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "pstate_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv380")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv382")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_case( - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "TCR_EL2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "TCR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "TBI"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv397")); (T_arg_nexp (Ne_var "'nv396"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv397")); (T_arg_nexp (Ne_var "'nv396"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv397")); (T_arg_nexp (Ne_var "'nv396"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv397")); (T_arg_nexp (Ne_var "'nv396"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv397")); (T_arg_nexp (Ne_var "'nv396"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( - (LEXP_vector_range( - (LEXP_aux( (LEXP_id (Id_aux( (Id "target'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num sixtythree), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtythree))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num fiftysix), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const fiftysix))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const sixtythree), (Ne_const fiftysix))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_minus( (Nexp_aux( (Nexp_constant sixtythree), Unknown)), (Nexp_aux( (Nexp_constant fiftysix), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant one), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const sixtythree), (Ne_const fiftysix))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "pstate_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv401")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv403")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_case( - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "TCR_EL3"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "TCR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "TBI"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv418")); (T_arg_nexp (Ne_var "'nv417"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv418")); (T_arg_nexp (Ne_var "'nv417"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv418")); (T_arg_nexp (Ne_var "'nv417"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv418")); (T_arg_nexp (Ne_var "'nv417"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv418")); (T_arg_nexp (Ne_var "'nv417"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( - (LEXP_vector_range( - (LEXP_aux( (LEXP_id (Id_aux( (Id "target'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num sixtythree), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtythree))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num fiftysix), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const fiftysix))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const sixtythree), (Ne_const fiftysix))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_minus( (Nexp_aux( (Nexp_constant sixtythree), Unknown)), (Nexp_aux( (Nexp_constant fiftysix), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant one), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const sixtythree), (Ne_const fiftysix))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_assert( (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "_PC"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "_PC")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "target'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "_PC")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "_PC")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "BranchType")]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "Hint_Branch"), Unknown)), (P_aux( (P_id (Id_aux( (Id "hint"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "info"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "This hint can be used for hardware optimization that has no effect on the model."), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "BranchType"), (T_id "unit"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "ResetExternalDebugRegisters"), Unknown)), (P_aux( (P_id (Id_aux( (Id "b"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "not_implemented_extern"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "ResetExternalDebugRegisters"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_abbrev( (T_id "boolean"), (T_id "bit"))), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_app( (Id_aux( (Id "implicit"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "ThisInstrAddr"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "ThisInstrAddr"), Unknown)), (P_aux( (P_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_app_infix( - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "UsingAArch32"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "mask"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rPC"), Unknown)), [])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv89")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "mask")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtyone), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtytwo), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "rSPSR"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtyone), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtytwo), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "UsingAArch32"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "rSPSR UsingAArch32"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "pstate_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "pstate_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv0")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "SPSR_EL1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SPSR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "SPSR_EL1")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "pstate_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "SPSR_EL2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SPSR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "SPSR_EL2")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "pstate_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv6")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv8")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "SPSR_EL3"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SPSR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "SPSR_EL3")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "Unreachable"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "ClearEventRegister"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "not_implemented_extern"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "ClearEventRegister"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "ConditionHolds"), Unknown)), (P_aux( (P_id (Id_aux( (Id "_cond"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_vector_subrange( (E_aux( (E_id (Id_aux( (Id "_cond"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const three), (Ne_const one))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "PSTATE_Z"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "PSTATE_C"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "PSTATE_N"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "PSTATE_V"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "PSTATE_C"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv126")); (T_arg_nexp (Ne_var "'nv125"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv126")); (T_arg_nexp (Ne_var "'nv125"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv126")); (T_arg_nexp (Ne_var "'nv125"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv126")); (T_arg_nexp (Ne_var "'nv125"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv126")); (T_arg_nexp (Ne_var "'nv125"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "PSTATE_Z"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv111")); (T_arg_nexp (Ne_var "'nv110"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv111")); (T_arg_nexp (Ne_var "'nv110"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv111")); (T_arg_nexp (Ne_var "'nv110"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv111")); (T_arg_nexp (Ne_var "'nv110"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv111")); (T_arg_nexp (Ne_var "'nv110"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "PSTATE_N"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_V"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "PSTATE_N"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_V"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "PSTATE_Z"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv180")); (T_arg_nexp (Ne_var "'nv179"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv180")); (T_arg_nexp (Ne_var "'nv179"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv180")); (T_arg_nexp (Ne_var "'nv179"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv180")); (T_arg_nexp (Ne_var "'nv179"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv180")); (T_arg_nexp (Ne_var "'nv179"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_case( - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "_cond"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv238")); (T_arg_nexp (Ne_var "'nv237"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv238")); (T_arg_nexp (Ne_var "'nv237"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv238")); (T_arg_nexp (Ne_var "'nv237"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv238")); (T_arg_nexp (Ne_var "'nv237"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv238")); (T_arg_nexp (Ne_var "'nv237"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "_cond"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv218")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv220")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "ELUsingAArch32"), Unknown)), (P_aux( (P_id (Id_aux( (Id "el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "EventRegisterSet"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "not_implemented_extern"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "EventRegisterSet"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "EventRegistered"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "not_implemented_extern"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "EventRegistered"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "HaveAArch32EL"), Unknown)), (P_aux( (P_id (Id_aux( (Id "el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "HaveAnyAArch32"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "HighestELUsingAArch32"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv6")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "IMPLEMENTATION_DEFINED"), Unknown))), (Unknown, (Some ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "HaveAArch32EL"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "HaveAnyAArch32"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "IMPLEMENTATION_DEFINED"), Unknown))), (Unknown, (Some ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "HaveAnyAArch32"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "HaveEL"), Unknown)), (P_aux( (P_id (Id_aux( (Id "el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv8")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv10")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv14")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv16")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "IMPLEMENTATION_DEFINED"), Unknown))), (Unknown, (Some ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "HaveEL2"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "IMPLEMENTATION_DEFINED"), Unknown))), (Unknown, (Some ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "HaveEL3"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "HighestELUsingAArch32"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "HaveAnyAArch32"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "IMPLEMENTATION_DEFINED"), Unknown))), (Unknown, (Some ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "HighestELUsingAArch32"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "Hint_Yield"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_extern_no_rename( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "InstructionSynchronizationBarrier"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "InterruptPending"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "not_implemented_extern"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "InterruptPending"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "IsSecure"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "UsingAArch32"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv21")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "UsingAArch32"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "PSTATE_M"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "PSTATE_M")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "M32_Monitor"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "IsSecureBelowEL3"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "IsSecureBelowEL3"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_field( - (E_aux( (E_app( (Id_aux( (Id "SCR_GEN"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "SCRType"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "NS"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv14")); (T_arg_nexp (Ne_var "'nv13"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv14")); (T_arg_nexp (Ne_var "'nv13"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv14")); (T_arg_nexp (Ne_var "'nv13"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv14")); (T_arg_nexp (Ne_var "'nv13"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv14")); (T_arg_nexp (Ne_var "'nv13"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "IMPLEMENTATION_DEFINED"), Unknown))), (Unknown, (Some ((T_id "IMPLEMENTATION_DEFINED_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "IsSecureBelowEL3"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "SCRType"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "SCR_GEN"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "HighestELUsingAArch32"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "SCR"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SCRType"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "SCR_EL3"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SCRType"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "SCRType"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_abbrev( (T_id "SCRType"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "SCRType"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "SCRType"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "SendEvent"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "Unreachable"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "Unreachable reached"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "UsingAArch32"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "WaitForEvent"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "not_implemented_extern"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "WaitForEvent"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "WaitForInterrupt"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "not_implemented_extern"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "WaitForInterrupt"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "PAMax"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "pa_size"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "ID_AA64MMFR0_EL1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "ID_AA64MMFR0_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "PARange"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "pa_size"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "pa_size"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num(Nat_big_num.of_int 36)), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 36)))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "pa_size"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num forty), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const forty))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "pa_size"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num(Nat_big_num.of_int 42)), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 42)))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "pa_size"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num(Nat_big_num.of_int 44)), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 44)))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "pa_size"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num fortyeight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const fortyeight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "Unreachable"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "pa_size"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "S1TranslationRegime"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv0")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "IsSecure"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ELUsingAArch32"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_Abort"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "vaddress"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "fault"), Unknown))), (Unknown, (Some ((T_id "FaultRecord"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "FaultRecord")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "AArch64_Abort"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "FaultRecord")]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_SPAlignmentFault"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "AArch64_SPAlignmentFault"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_SoftwareBreakpoint"), Unknown)), (P_aux( (P_id (Id_aux( (Id "immediate"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "AArch64_SoftwareBreakpoint"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_TakeReset"), Unknown)), (P_aux( (P_id (Id_aux( (Id "cold_reset"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "HighestELUsingAArch32"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_nRW"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "PSTATE_nRW")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "PSTATE_nRW")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "CurrentEL")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_field( (LEXP_aux( (LEXP_id (Id_aux( (Id "SCR_EL3"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SCRType"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "NS"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "CurrentEL")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "CurrentEL")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "AArch64_ResetControlRegisters"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "cold_reset"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_SP"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "SPSel")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wPSTATE_DAIF"), Unknown)), [(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_SS"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_var "'nv2"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_IL"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "AArch64_ResetGeneralRegisters"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "AArch64_ResetSIMDFPRegisters"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "AArch64_ResetSpecialRegisters"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "ResetExternalDebugRegisters"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "cold_reset"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "rv"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "rv"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "RVBAR_EL3"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "RVBAR_EL3")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "rv"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "RVBAR_EL2"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "RVBAR_EL2")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "rv"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "RVBAR_EL1"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "RVBAR_EL1")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assert( (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "IsZero"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "rv"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num sixtythree), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtythree))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "PAMax"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv26"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv26")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "IsZero"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "rv"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv21")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv24")); (T_arg_nexp (Ne_var "'nv23")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv20"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv20")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "reset vector not correctly aligned"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "BranchTo"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "rv"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "BranchType_UNKNOWN"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_abbrev( (T_id "boolean"), (T_id "bit"))), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_CallHypervisor"), Unknown)), (P_aux( (P_id (Id_aux( (Id "immediate"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "AArch64_CallHypervisor"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_CallSecureMonitor"), Unknown)), (P_aux( (P_id (Id_aux( (Id "immediate"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "AArch64_CallSecureMonitor"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_CallSupervisor"), Unknown)), (P_aux( (P_id (Id_aux( (Id "immediate"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "AArch64_CallSupervisor"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_CheckForSMCTrap"), Unknown)), (P_aux( (P_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "route_to_el2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "IsSecure"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv249")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv251")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv246")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv248")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "HCR_EL2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "HCR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "TSC"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv237")); (T_arg_nexp (Ne_var "'nv236"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv237")); (T_arg_nexp (Ne_var "'nv236"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv237")); (T_arg_nexp (Ne_var "'nv236"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv237")); (T_arg_nexp (Ne_var "'nv236"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv237")); (T_arg_nexp (Ne_var "'nv236"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "route_to_el2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "AArch64_CheckForSMCTrap route_to_el2"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_CheckForWFxTrap"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "target_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "is_wfe"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "target_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "trap"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "target_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv0")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "trap"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "is_wfe"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "SCTLR_EL1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SCTLR_EL1_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "nTWE"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "SCTLR_EL1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SCTLR_EL1_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "nTWI"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'nv16"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "target_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv18")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv20")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "trap"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "is_wfe"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "HCR_EL2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "HCR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "TWE"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "HCR_EL2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "HCR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "TWI"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'nv34"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "target_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "trap"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "is_wfe"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "SCR_EL3"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SCRType"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "TWE"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "SCR_EL3"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SCRType"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "TWI"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "trap"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_WFxTrap"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "target_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "is_wfe"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_SystemRegisterTrap"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "target_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "crn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "crm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "dir"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "AArch64_SystemRegisterTrap"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_UndefinedFault"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "AArch64_UndefinedFault"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_WFxTrap"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "target_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "is_wfe"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "AArch64_WFxTrap"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "FaultRecord"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_CreateFaultRecord"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "type"), Unknown))), (Unknown, (Some ((T_id "Fault"), (Tag_enum(Nat_big_num.of_int 19)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "ipaddress"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "level"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 12)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "write"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "extflag"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "secondstage"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "s2fs1walk"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "Fault"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_id "AccType"); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_id "bit"); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "FaultRecord"), Unknown))), Unknown)), (Id_aux( (Id "fault"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "FaultRecord"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_record (FES_aux( (FES_Fexps( [(FE_aux( (FE_Fexp( (Id_aux( (Id "type"), Unknown)), (E_aux( (E_id (Id_aux( (Id "type"), Unknown))), (Unknown, (Some ((T_id "Fault"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "Fault"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "domain"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num four), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const four))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "debugmoe"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num four), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const four))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "ipaddress"), Unknown)), (E_aux( (E_id (Id_aux( (Id "ipaddress"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "level"), Unknown)), (E_aux( (E_id (Id_aux( (Id "level"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "acctype"), Unknown)), (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "AccType"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "write"), Unknown)), (E_aux( (E_id (Id_aux( (Id "write"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "extflag"), Unknown)), (E_aux( (E_id (Id_aux( (Id "extflag"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "secondstage"), Unknown)), (E_aux( (E_id (Id_aux( (Id "secondstage"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "s2fs1walk"), Unknown)), (E_aux( (E_id (Id_aux( (Id "s2fs1walk"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))], false)), (Unknown,None)))), (Unknown, (Some ((T_id "FaultRecord"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "fault"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "FaultRecord"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "FaultRecord"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "FaultRecord"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "Fault"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_id "AccType"); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_id "bit"); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), (T_id "FaultRecord"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_ExclusiveMonitorsPass"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "AccType"), Unknown))), Unknown)), (Id_aux( (Id "acctype"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AccType"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "AccType_ATOMIC"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "iswrite"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "aligned"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Align"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "aligned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "secondstage"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "AArch64_Abort"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "AArch64_AlignmentFault"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AccType"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "iswrite"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "secondstage"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "FaultRecord"), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "passed"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_IsExclusiveVA"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "ProcessorID"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "passed"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "AddressDescriptor"), Unknown))), Unknown)), (Id_aux( (Id "memaddrdesc"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_TranslateAddress"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AccType"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "iswrite"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "aligned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "AddressDescriptor"), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "IsFault"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "memaddrdesc"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_Abort"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "memaddrdesc"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "fault"), Unknown)))), (Unknown, (Some ((T_id "FaultRecord"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "passed"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "IsExclusiveLocal"), Unknown)), [ - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "memaddrdesc"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "paddress"), Unknown)))), (Unknown, (Some ((T_id "FullAddress"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "ProcessorID"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "passed"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "ClearExclusiveLocal"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "ProcessorID"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_field( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "memaddrdesc"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "memattrs"), Unknown)))), (Unknown, (Some ((T_id "MemoryAttributes"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "shareable"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "passed"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "IsExclusiveGlobal"), Unknown)), [ - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "memaddrdesc"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "paddress"), Unknown)))), (Unknown, (Some ((T_id "FullAddress"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "ProcessorID"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "passed"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_IsExclusiveVA"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "processorid"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "info"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "The model does not implement the exclusive monitors explicitly."), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_MarkExclusiveVA"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "processorid"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "info"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "The model does not implement the exclusive monitors explicitly."), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_id "unit"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_SetExclusiveMonitors"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "AccType"), Unknown))), Unknown)), (Id_aux( (Id "acctype"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AccType"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "AccType_ATOMIC"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "iswrite"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "aligned"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Align"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "AddressDescriptor"), Unknown))), Unknown)), (Id_aux( (Id "memaddrdesc"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_TranslateAddress"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AccType"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "iswrite"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "aligned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "AddressDescriptor"), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "IsFault"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "memaddrdesc"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_field( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "memaddrdesc"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "memattrs"), Unknown)))), (Unknown, (Some ((T_id "MemoryAttributes"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "shareable"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "MarkExclusiveGlobal"), Unknown)), [ - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "memaddrdesc"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "paddress"), Unknown)))), (Unknown, (Some ((T_id "FullAddress"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "ProcessorID"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "MarkExclusiveLocal"), Unknown)), [ - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "memaddrdesc"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "paddress"), Unknown)))), (Unknown, (Some ((T_id "FullAddress"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "ProcessorID"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "AArch64_MarkExclusiveVA"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "ProcessorID"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_id "unit"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_CheckAlignment"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 12)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "iswrite"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_id "AccType"); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "aligned"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Align"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "A"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_field( (E_aux( (E_app( (Id_aux( (Id "SCTLR'"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "SCTLR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "A"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "aligned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "AccType_ATOMIC"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "AccType_ORDERED"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "A"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv250")); (T_arg_nexp (Ne_var "'nv249"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv250")); (T_arg_nexp (Ne_var "'nv249"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv250")); (T_arg_nexp (Ne_var "'nv249"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv250")); (T_arg_nexp (Ne_var "'nv249"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv250")); (T_arg_nexp (Ne_var "'nv249"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "secondstage"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "bool"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "AArch64_Abort"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "AArch64_AlignmentFault"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "iswrite"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "secondstage"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "bool"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "FaultRecord"), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "aligned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_id "AccType"); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "read_buffer_type"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_rMemSingle"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 12)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "wasaligned"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "exclusive"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "read_buffer_type"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType"); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_id "bool"), (T_id "bit")))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_var "'nv3")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Align"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv5")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv5")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "value"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "iswrite"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "AddressDescriptor"), Unknown))), Unknown)), (Id_aux( (Id "memaddrdesc"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_TranslateAddress"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "iswrite"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "wasaligned"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "AddressDescriptor"), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "IsFault"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "memaddrdesc"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_Abort"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "memaddrdesc"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "fault"), Unknown)))), (Unknown, (Some ((T_id "FaultRecord"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "_rMem"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "memaddrdesc"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "exclusive"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "read_buffer_type"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType"); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_id "bool"), (T_id "bit")))]), (T_id "read_buffer_type"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "write_buffer_type"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_wMemSingle"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 12)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "wasaligned"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "exclusive"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "write_buffer_type"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType"); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_id "bool"), (T_id "bit"))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_var "'nv3")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Align"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv5")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv5")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'nv3")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "iswrite"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "AddressDescriptor"), Unknown))), Unknown)), (Id_aux( (Id "memaddrdesc"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_TranslateAddress"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "iswrite"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "wasaligned"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "AddressDescriptor"), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "IsFault"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "memaddrdesc"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_Abort"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "memaddrdesc"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "fault"), Unknown)))), (Unknown, (Some ((T_id "FaultRecord"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_field( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "memaddrdesc"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "memattrs"), Unknown)))), (Unknown, (Some ((T_id "MemoryAttributes"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "shareable"), Unknown)))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ClearExclusiveByAddress"), Unknown)), [ - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "memaddrdesc"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "paddress"), Unknown)))), (Unknown, (Some ((T_id "FullAddress"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "ProcessorID"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "_wMem"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "memaddrdesc"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "exclusive"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv6"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv6"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "write_buffer_type"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType"); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_id "bool"), (T_id "bit"))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (T_id "write_buffer_type"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "CheckSPAlignment"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "sp"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rSP"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bool"), Unknown))), Unknown)), (Id_aux( (Id "stack_align_check"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "bool"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "stack_align_check"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "bool"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "SCTLR_EL1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SCTLR_EL1_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "SA0"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv18")); (T_arg_nexp (Ne_var "'nv17"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv18")); (T_arg_nexp (Ne_var "'nv17"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv18")); (T_arg_nexp (Ne_var "'nv17"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv18")); (T_arg_nexp (Ne_var "'nv17"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv18")); (T_arg_nexp (Ne_var "'nv17"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "stack_align_check"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "bool"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_field( (E_aux( (E_app( (Id_aux( (Id "SCTLR'"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "SCTLR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "SA"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv33")); (T_arg_nexp (Ne_var "'nv32"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv33")); (T_arg_nexp (Ne_var "'nv32"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv33")); (T_arg_nexp (Ne_var "'nv32"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv33")); (T_arg_nexp (Ne_var "'nv32"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv33")); (T_arg_nexp (Ne_var "'nv32"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "stack_align_check"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "bool"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "sp"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv42")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Align"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "sp"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num sixteen), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixteen))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv44")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_SPAlignmentFault"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "read_buffer_type"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "rMem'"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 12)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "exclusive"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "read_buffer_type"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType"); (T_abbrev( (T_id "bool"), (T_id "bit")))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "read_buffer_type"), Unknown))), Unknown)), (Id_aux( (Id "read_buffer'"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "read_buffer_type"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "i"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "iswrite"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "aligned"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_CheckAlignment"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "iswrite"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "atomic"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "aligned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [ - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "AccType_VEC"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "AccType_VECSTREAM"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "atomic"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "exclusive"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assert( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id ">"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "gt")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "exclusive"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "read_buffer'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "read_buffer_type"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_rMemSingle"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "read_buffer'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "read_buffer_type"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "aligned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_for( (Id_aux( (Id "i"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv249"), (Ne_var "'nv250"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Ord_aux( Ord_inc, Unknown)), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "read_buffer'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "read_buffer_type"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_rMemSingle"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "read_buffer'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "read_buffer_type"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv285")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_id (Id_aux( (Id "i"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_var "'nv243"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv285")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "aligned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))))))) ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "read_buffer'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "read_buffer_type"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_rMemSingle"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "read_buffer'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "read_buffer_type"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "aligned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "exclusive"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "read_buffer'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "read_buffer_type"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "read_buffer_type"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "read_buffer_type"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType"); (T_abbrev( (T_id "bool"), (T_id "bit")))]), (T_id "read_buffer_type"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "read_buffer_type"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "rMem"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 12)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "read_buffer_type"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rMem'"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "read_buffer_type"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType")]), (T_id "read_buffer_type"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "read_buffer_type"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "rMem_exclusive"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 12)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "read_buffer_type"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rMem'"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "read_buffer_type"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType")]), (T_id "read_buffer_type"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "write_buffer_type"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "wMem'"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 12)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "exclusive"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "write_buffer_type"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_id "bool"), (T_id "bit")))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "write_buffer_type"), Unknown))), Unknown)), (Id_aux( (Id "write_buffer'"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "write_buffer_type"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant eight), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "value'"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "i"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "iswrite"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "BigEndian"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "value'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "BigEndianReverse"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "aligned"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_CheckAlignment"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "iswrite"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "atomic"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "aligned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [ - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "AccType_VEC"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "AccType_VECSTREAM"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bool"), Unknown))), Unknown)), (Id_aux( (Id "exclusiveSuccess"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "bool"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "atomic"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "exclusive"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "exclusive"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id ">"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "gt")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "write_buffer'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "write_buffer_type"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_wMemSingle"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "write_buffer'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "write_buffer_type"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "aligned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num seven), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const seven))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_mult( (Ne_var "'nv242"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv242"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv242"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_for( (Id_aux( (Id "i"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv255"), (Ne_var "'nv256"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Ord_aux( Ord_inc, Unknown)), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "write_buffer'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "write_buffer_type"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_wMemSingle"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "write_buffer'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "write_buffer_type"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv376")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_id (Id_aux( (Id "i"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_var "'nv249"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv376")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "aligned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_id (Id_aux( (Id "i"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_var "'nv249"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv337"), (Ne_var "'nv338"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_lit (L_aux( (L_num seven), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const seven))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv307"); (Ne_var "'nv308")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_id (Id_aux( (Id "i"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_var "'nv249"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv353"), (Ne_var "'nv354"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv285")); (T_arg_nexp (Ne_mult( (Ne_var "'nv281"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv281"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv281"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))))))) ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "write_buffer'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "write_buffer_type"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_wMemSingle"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "write_buffer'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "write_buffer_type"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "aligned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "exclusive"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv395"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv395"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "write_buffer'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "write_buffer_type"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "write_buffer_type"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "write_buffer_type"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_id "bool"), (T_id "bit")))]), (T_id "write_buffer_type"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "write_buffer_type"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "wMem"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 12)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "write_buffer_type"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem'"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv1"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv1"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "write_buffer_type"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (T_id "write_buffer_type"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 1;Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "write_buffer_type"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "wMem_exclusive"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 12)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "write_buffer_type"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem'"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv1"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv1"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "write_buffer_type"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))); (T_id "AccType"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'N"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'N"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (T_id "write_buffer_type"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_ResetGeneralRegisters"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_for( (Id_aux( (Id "i"), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num thirty), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirty))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Ord_aux( Ord_inc, Unknown)), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "i"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirty))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))) ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_ResetSIMDFPRegisters"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_for( (Id_aux( (Id "i"), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Ord_aux( Ord_inc, Unknown)), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wV"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "i"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num onetwentyeight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const onetwentyeight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const onetwentyeight); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))) ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_ResetSpecialRegisters"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "SP_EL0"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "SP_EL0")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "SP_EL0")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "SP_EL1"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "SP_EL1")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "SP_EL1")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "SPSR_EL1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SPSR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "SPSR_EL1")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "SPSR_EL1")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "ELR_EL1"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "ELR_EL1")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "ELR_EL1")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "SP_EL2"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "SP_EL2")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "SP_EL2")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "SPSR_EL2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SPSR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "SPSR_EL2")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "SPSR_EL2")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "ELR_EL2"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "ELR_EL2")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "ELR_EL2")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "ELR_EL2")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "SP_EL3"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "SP_EL3")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "SP_EL3")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "SPSR_EL3"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SPSR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "SPSR_EL3")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "SPSR_EL3")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "ELR_EL3"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "ELR_EL3")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "ELR_EL3")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "ELR_EL3")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "HaveAArch32EL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "SPSR_fiq"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "SPSR_irq"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "SPSR_abt"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "SPSR_und"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "DLR_EL0"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "DSPSR_EL0"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "rPC"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "_PC"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "_PC")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "wSP"), Unknown)), (P_aux( (P_tup [(P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "unit"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "PSTATE_SP"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_var "'nv14"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_var "'nv14"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_var "'nv14"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_var "'nv14"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_var "'nv14"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "SP_EL0"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "SP_EL0")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "SP_EL0")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "pstate_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "pstate_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv18")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv20")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "SP_EL0"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "SP_EL0")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "SP_EL0")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "pstate_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv25")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "SP_EL1"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "SP_EL1")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "SP_EL1")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "pstate_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "SP_EL2"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "SP_EL2")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "SP_EL2")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "pstate_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv33")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "SP_EL3"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "SP_EL3")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "SP_EL3")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assert( (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "unit"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "rSP"), Unknown)), (P_aux( (P_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "PSTATE_SP"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_var "'nv14"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_var "'nv14"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_var "'nv14"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_var "'nv14"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_var "'nv14"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "mask"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "SP_EL0"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "SP_EL0")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "mask")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "pstate_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "pstate_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv20")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "mask"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "SP_EL0"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "SP_EL0")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv26")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "mask")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "pstate_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv27")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv29")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "mask"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "SP_EL1"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "SP_EL1")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv33")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "mask")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "pstate_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "mask"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "SP_EL2"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "SP_EL2")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "mask")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "pstate_el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv41")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "mask"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "SP_EL3"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "SP_EL3")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "mask")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "mask"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "SP_EL3"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "SP_EL3")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv51")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "mask")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64;Nat_big_num.of_int 128])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "wV"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_vector( - (LEXP_aux( (LEXP_id (Id_aux( (Id "_V"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 33))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num onetwentyeight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const onetwentyeight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const onetwentyeight); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64;Nat_big_num.of_int 128])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "rV"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "mask"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "_V"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 33))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "mask")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64;Nat_big_num.of_int 128])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "rVpart"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_tup [(T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))); (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "part"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))); (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "part"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "mask"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "_V"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 33))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv14")); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "mask")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_app_infix( - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv39")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv39"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "_V"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 33))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num onetwentyseven), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const onetwentyseven))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))); (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one))])))]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64;Nat_big_num.of_int 128])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "wVpart"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "part"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))); (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "part"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_vector( - (LEXP_aux( (LEXP_id (Id_aux( (Id "_V"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 33))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num onetwentyeight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const onetwentyeight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const onetwentyeight); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_app_infix( - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)]))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)]))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv35")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv35"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_vector_range( - (LEXP_aux( (LEXP_vector( - (LEXP_aux( (LEXP_id (Id_aux( (Id "_V"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtytwo)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 33))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num onetwentyseven), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const onetwentyseven))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_minus( (Nexp_aux( (Nexp_constant onetwentyseven), Unknown)), (Nexp_aux( (Nexp_constant sixtyfour), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant one), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_abbrev( (T_id "SIMD_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtytwo))]))))); (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "wX"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_vector( - (LEXP_aux( (LEXP_id (Id_aux( (Id "_R"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "rX"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "mask"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "_R"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv14")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "mask")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Zeros"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "rELR"), Unknown)), (P_aux( (P_id (Id_aux( (Id "el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "r"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv0")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "r"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "ELR_EL1"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "ELR_EL1")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "r"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "ELR_EL2"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "ELR_EL2")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "el"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv6")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv8")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "r"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "ELR_EL3"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "ELR_EL3")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "Unreachable"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "r"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "rELR'"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv0")); (T_arg_nexp (Ne_var "'nv1")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_var "'nv1")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "rELR"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "SCTLR_type"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "SCTLR"), Unknown)), (P_aux( (P_id (Id_aux( (Id "regime"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "regime"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv0")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "SCTLR_EL1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SCTLR_EL1_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "regime"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "SCTLR_EL2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SCTLR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "regime"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv6")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv8")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "SCTLR_EL3"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SCTLR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "SCTLR_type unreachable"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "SCTLR_EL1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SCTLR_EL1_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_abbrev( (T_id "SCTLR_EL1_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "SCTLR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "SCTLR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "SCTLR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_abbrev( (T_id "SCTLR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "SCTLR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_abbrev( (T_id "SCTLR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "SCTLR_type"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "SCTLR'"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "SCTLR"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "S1TranslationRegime"), Unknown)), [])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "SCTLR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "SCTLR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_abbrev( (T_id "SCTLR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_CheckUnallocatedSystemAccess"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "op0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "crn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "crm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "read"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_case( (E_aux( (E_tuple [(E_aux( (E_id (Id_aux( (Id "op0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "op1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "crn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "crm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "op2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "read"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "<"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "lt_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), (T_abbrev( (T_id "boolean"), (T_id "bit"))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "CheckSystemAccess"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "op0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "crn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "crm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "read"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "unallocated"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "need_secure"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "min_EL"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "op1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "min_EL"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "min_EL"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "min_EL"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "EL0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "min_EL"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "EL2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "min_EL"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "min_EL"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "need_secure"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "<"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "min_EL"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv8")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "lt_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "need_secure"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "IsSecure"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "AArch64_CheckUnallocatedSystemAccess"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "op0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "op1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "crn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "crm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "op2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "read"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "bit")]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "SysOp_R"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "op0"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "crn"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "crm"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "SysOp_R"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "SysOp_W"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "op0"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "crn"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "crm"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "_val"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "SysOp_W"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "System_Get"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "op0"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "crn"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "crm"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_case( (E_aux( (E_tuple [(E_aux( (E_id (Id_aux( (Id "op0"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "op1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "crn"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "crm"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "op2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num four), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const four))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const four))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "NZCV"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "NZCV_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "NZCV")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num four), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const four))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const four))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "DAIF"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "DAIF_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num(Nat_big_num.of_int 13)), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 13)))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 13)))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "TPIDR_EL0"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "TPIDR_EL0")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "System_Put"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "op0"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "crn"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "crm"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "_val"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_case( (E_aux( (E_tuple [(E_aux( (E_id (Id_aux( (Id "op0"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "op1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "crn"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "crm"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "op2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num four), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const four))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const four))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "NZCV"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "NZCV_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "NZCV")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector_subrange( (E_aux( (E_id (Id_aux( (Id "_val"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "NZCV")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num four), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const four))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const four))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "DAIF"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "DAIF_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector_subrange( (E_aux( (E_id (Id_aux( (Id "_val"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num(Nat_big_num.of_int 13)), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 13)))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 13)))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))); (T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "TPIDR_EL0"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "TPIDR_EL0")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector_subrange( (E_aux( (E_id (Id_aux( (Id "_val"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num sixtythree), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtythree))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "TPIDR_EL0")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_ExceptionReturn"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "new_pc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "spsr"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "AArch64_ExceptionReturn"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "ExtendType"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "DecodeRegExtend"), Unknown)), (P_aux( (P_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "ExtendType_UXTB"), Unknown))), (Unknown, (Some ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "ExtendType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "ExtendType_UXTH"), Unknown))), (Unknown, (Some ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "ExtendType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "ExtendType_UXTW"), Unknown))), (Unknown, (Some ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "ExtendType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "ExtendType_UXTX"), Unknown))), (Unknown, (Some ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "ExtendType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "ExtendType_SXTB"), Unknown))), (Unknown, (Some ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "ExtendType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "ExtendType_SXTH"), Unknown))), (Unknown, (Some ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "ExtendType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "ExtendType_SXTW"), Unknown))), (Unknown, (Some ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "ExtendType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "ExtendType_SXTX"), Unknown))), (Unknown, (Some ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "ExtendType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "ExtendType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "ExtendType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "ExtendType"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_id "ExtendType"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'S"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'N"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_bounded_ge( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant zero), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_bounded_le( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant four), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "implicit"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "ExtendType"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'S"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "ExtendReg"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))); (T_id "ExtendType"); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))])))]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "ExtendReg"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_tup [(T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))); (T_id "ExtendType"); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "_reg"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "type"), Unknown))), (Unknown, (Some ((T_id "ExtendType"), (Tag_enum eight), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))); (T_id "ExtendType"); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "_val"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "_reg"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "_unsigned"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "len"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "type"), Unknown))), (Unknown, (Some ((T_id "ExtendType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "ExtendType_SXTB"), Unknown)), [])), (Unknown, (Some ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "len"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "ExtendType_SXTH"), Unknown)), [])), (Unknown, (Some ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "len"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num sixteen), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixteen))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "ExtendType_SXTW"), Unknown)), [])), (Unknown, (Some ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "len"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "ExtendType_SXTX"), Unknown)), [])), (Unknown, (Some ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "len"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "ExtendType_UXTB"), Unknown)), [])), (Unknown, (Some ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "len"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "ExtendType_UXTH"), Unknown)), [])), (Unknown, (Some ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "len"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num sixteen), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixteen))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "ExtendType_UXTW"), Unknown)), [])), (Unknown, (Some ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "len"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "ExtendType_UXTX"), Unknown)), [])), (Unknown, (Some ((T_id "ExtendType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "len"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "len"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "uMin"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "len"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "_val"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv9"), (Ne_var "'nv10"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Extend"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "_val"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "_val"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "len"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv50"), (Ne_var "'nv51"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv46")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv46"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv46"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Zeros"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'S")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'S")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'S"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'S")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv46"), (Ne_const zero))); (Ne_const one)]); (Ne_var "'S")]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv46"), (Ne_const zero))); (Ne_const one)]); (Ne_var "'S")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv38"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv38")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))); (T_id "ExtendType"); (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'S"))])))]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'M"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'E"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "implicit"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant five), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant six), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant five), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant six), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "DecodeBitMasks"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_id "bit"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'M"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'E"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'E"), Unknown)), [Nat_big_num.of_int 2;Nat_big_num.of_int 4;Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'M"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "DecodeBitMasks"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "'M"), Unknown))), (Unknown, (Some ((T_tup [(T_id "bit"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "immN"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imms"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "immr"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "immediate"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "bit"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "M"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "'M"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'M"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'M"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant five), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant six), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "levels"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num six), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const six))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "range"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant zero), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant six), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "len"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const six))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_app( (Id_aux( (Id "HighestSetBit"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_id (Id_aux( (Id "immN"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv8")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "NOT"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imms"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const six); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const six); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv10")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const one); (Ne_const six)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_const six)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'nv6"); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'nv6"); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv6"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv6"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "DecodeBitMasks: HighestSetBit returned None"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "Some"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "c"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv6"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv6"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "c"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv6"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv6"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_add [(Ne_var "'nv6"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))]))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "len"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const six))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "<"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "lt")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ReservedValue"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assert( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "M"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_var "'nv4"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id ">="), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "lsl"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "len"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const six))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv24"), (Ne_exp (Ne_var "'nv25")))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "gteq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "levels"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num six), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const six))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "^^"), Unknown)), (E_aux( (E_id (Id_aux( (Id "len"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const six))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_mult( (Ne_const one), (Ne_var "'nv32")))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "duplicate_bits")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv32"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv32")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const six); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "immediate"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imms"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "levels"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_and")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv46")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "levels"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv48")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ReservedValue"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant five), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant six), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "S"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant five), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant six), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imms"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv51")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "levels"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv51")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv51")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_and")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant five), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant six), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "R"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant five), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant six), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "immr"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "levels"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_and")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant five), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant six), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "diff"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant five), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant six), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "S"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv58")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "R"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv59")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv58")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "minus_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'E"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "esize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'E"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "lsl"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "len"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const six))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv81"), (Ne_exp (Ne_var "'nv82")))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant five), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant six), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "d"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant five), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant six), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_id (Id_aux( (Id "diff"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "len"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const six))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv90"), (Ne_var "'nv91"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'E"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'E"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "welem"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "esize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'E"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv154")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "^^"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "S"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv172")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv174")); (T_arg_nexp (Ne_add [(Ne_var "'nv174"); (Ne_exp (Ne_const six))]))]))), (Tag_extern (Some "add_vec_range_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv154")); (T_arg_nexp (Ne_mult( (Ne_const one), (Ne_var "'nv152")))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "duplicate_bits")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv152"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv152")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'E"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'E"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "telem"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "esize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'E"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv223")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "^^"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv241")); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv243")); (T_arg_nexp (Ne_add [(Ne_var "'nv243"); (Ne_exp (Ne_const six))]))]))), (Tag_extern (Some "add_vec_range_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv223")); (T_arg_nexp (Ne_mult( (Ne_const one), (Ne_var "'nv221")))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "duplicate_bits")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv221"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv221")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "wmask"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "Replicate"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "'M"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'M"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ROR"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "welem"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "unsigned"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "R"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))), (Tag_extern (Some "unsigned")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "tmask"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "Replicate"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "'M"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'M"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "telem"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'E"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'E")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_tuple [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "wmask"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "tmask"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "bit"); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'M"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'M")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "ShiftType"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "DecodeShift"), Unknown)), (P_aux( (P_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_app( (Id_aux( (Id "unsigned"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const four))]))), (Tag_extern (Some "unsigned")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const four))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "ShiftType_LSL"), Unknown))), (Unknown, (Some ((T_id "ShiftType"), (Tag_enum four), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "ShiftType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const four))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "ShiftType_LSR"), Unknown))), (Unknown, (Some ((T_id "ShiftType"), (Tag_enum four), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "ShiftType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const four))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "ShiftType_ASR"), Unknown))), (Unknown, (Some ((T_id "ShiftType"), (Tag_enum four), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "ShiftType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const four))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "ShiftType_ROR"), Unknown))), (Unknown, (Some ((T_id "ShiftType"), (Tag_enum four), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "ShiftType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "ShiftType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "ShiftType"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_id "ShiftType"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "implicit"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "ShiftType"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "nat"), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "ShiftReg"), Unknown)))), - (Unknown, (Some ((T_fn( (T_tup [(T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))); (T_id "ShiftType"); (T_abbrev( (T_id "nat"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'N"), Unknown)))), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "ShiftReg"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_tup [(T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))); (T_id "ShiftType"); (T_abbrev( (T_id "nat"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "_reg"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "type"), Unknown))), (Unknown, (Some ((T_id "ShiftType"), (Tag_enum four), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "amount"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "nat"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))); (T_id "ShiftType"); (T_abbrev( (T_id "nat"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'N"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "'N"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'N"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "_reg"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "type"), Unknown))), (Unknown, (Some ((T_id "ShiftType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "ShiftType_LSL"), Unknown)), [])), (Unknown, (Some ((T_id "ShiftType"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "LSL"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "amount"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "nat"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "ShiftType_LSR"), Unknown)), [])), (Unknown, (Some ((T_id "ShiftType"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "LSR"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "amount"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "nat"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "ShiftType_ASR"), Unknown)), [])), (Unknown, (Some ((T_id "ShiftType"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ASR"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "amount"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "nat"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "ShiftType_ROR"), Unknown)), [])), (Unknown, (Some ((T_id "ShiftType"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ROR"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "amount"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "nat"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))); (T_id "ShiftType"); (T_abbrev( (T_id "nat"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'N"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'N")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "Prefetch"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "prfop"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "PrefetchHint"), Unknown))), Unknown)), (Id_aux( (Id "hint"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "PrefetchHint"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "Prefetch_READ"), Unknown))), (Unknown, (Some ((T_id "PrefetchHint"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "PrefetchHint"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "Prefetch_WRITE"), Unknown))), (Unknown, (Some ((T_id "PrefetchHint"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "PrefetchHint"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "Prefetch_EXEC"), Unknown))), (Unknown, (Some ((T_id "PrefetchHint"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "PrefetchHint"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "PrefetchHint"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "target"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "stream"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bool"), Unknown))), Unknown)), (Id_aux( (Id "returnv"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "bool"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_vector_subrange( (E_aux( (E_id (Id_aux( (Id "prfop"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num four), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const four))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const four), (Ne_const three))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "hint"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "PrefetchHint"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "Prefetch_READ"), Unknown))), (Unknown, (Some ((T_id "PrefetchHint"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "hint"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "PrefetchHint"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "Prefetch_EXEC"), Unknown))), (Unknown, (Some ((T_id "PrefetchHint"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "hint"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "PrefetchHint"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "Prefetch_WRITE"), Unknown))), (Unknown, (Some ((T_id "PrefetchHint"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "returnv"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "bool"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "returnv"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "bool"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "target"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "unsigned"), Unknown)), [ - (E_aux( (E_vector_subrange( (E_aux( (E_id (Id_aux( (Id "prfop"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const two), (Ne_const one))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), (Tag_extern (Some "unsigned")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "stream"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "prfop"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv29")); (T_arg_nexp (Ne_var "'nv28"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv29")); (T_arg_nexp (Ne_var "'nv28"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv29")); (T_arg_nexp (Ne_var "'nv28"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv29")); (T_arg_nexp (Ne_var "'nv28"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv29")); (T_arg_nexp (Ne_var "'nv28"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Hint_Prefetch"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "hint"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "PrefetchHint"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "target"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "stream"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), (T_id "unit"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "FaultRecord"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_AlignmentFault"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 12)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "iswrite"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "secondstage"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_id "AccType"); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant fortyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant fortyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "ipaddress"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num fortyeight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const fortyeight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "level"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "extflag"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "is_one"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "is_one")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "s2fs1walk"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "is_one"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "is_one")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "AArch64_CreateFaultRecord"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "Fault_Alignment"), Unknown))), (Unknown, (Some ((T_id "Fault"), (Tag_enum(Nat_big_num.of_int 18)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "ipaddress"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "level"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "iswrite"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "extflag"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "secondstage"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "s2fs1walk"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "FaultRecord"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "FaultRecord"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "FaultRecord"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_id "AccType"); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), (T_id "FaultRecord"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "FaultRecord"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_NoFault"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant fortyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant fortyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "ipaddress"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num fortyeight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const fortyeight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "level"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "AccType"), Unknown))), Unknown)), (Id_aux( (Id "acctype"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AccType"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "AccType_NORMAL"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "iswrite"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "is_one"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "is_one")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "extflag"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "is_one"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "is_one")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "secondstage"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "s2fs1walk"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "AArch64_CreateFaultRecord"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "Fault_None"), Unknown))), (Unknown, (Some ((T_id "Fault"), (Tag_enum(Nat_big_num.of_int 18)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "ipaddress"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const fortyseven)); (T_arg_nexp (Ne_const fortyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "level"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AccType"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "iswrite"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "extflag"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "secondstage"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "s2fs1walk"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "FaultRecord"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "FaultRecord"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "FaultRecord"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "FaultRecord"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "AddressDescriptor"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "AArch64_TranslateAddress"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "vaddress"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 12)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "iswrite"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "wasaligned"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "AccType"); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "info"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "Translation is not implemented, return same address as the virtual (no fault, normal, shareable, non-secure)."), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "AddressDescriptor"), Unknown))), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_record (FES_aux( (FES_Fexps( [(FE_aux( (FE_Fexp( (Id_aux( (Id "fault"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "AArch64_NoFault"), Unknown)), [])), (Unknown, (Some ((T_id "FaultRecord"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "FaultRecord"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "memattrs"), Unknown)), (E_aux( (E_record (FES_aux( (FES_Fexps( [ - (FE_aux( (FE_Fexp( (Id_aux( (Id "type"), Unknown)), (E_aux( (E_id (Id_aux( (Id "MemType_Normal"), Unknown))), (Unknown, (Some ((T_id "MemType"), (Tag_enum one), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MemType"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "shareable"), Unknown)), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))], false)), (Unknown,None)))), (Unknown, (Some ((T_id "MemoryAttributes"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MemoryAttributes"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "paddress"), Unknown)), (E_aux( (E_record (FES_aux( (FES_Fexps( [ - (FE_aux( (FE_Fexp( (Id_aux( (Id "physicaladdress"), Unknown)), (E_aux( (E_id (Id_aux( (Id "vaddress"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (FE_aux( (FE_Fexp( (Id_aux( (Id "NS"), Unknown)), (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))], false)), (Unknown,None)))), (Unknown, (Some ((T_id "FullAddress"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "FullAddress"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))], false)), (Unknown,None)))), (Unknown, (Some ((T_id "AddressDescriptor"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AddressDescriptor"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "AddressDescriptor"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "AccType"); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_id "AddressDescriptor"), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_type (TD_aux( (TD_variant( (Id_aux( (Id "ast"), Unknown)), (Name_sect_aux( Name_sect_none, Unknown)), (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), [ - (Tu_aux( (Tu_id (Id_aux( (Id "Unallocated"), Unknown))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "ImplementationDefinedTestBeginEnd"), Unknown)))), Unknown)); - (Tu_aux( (Tu_id (Id_aux( (Id "ImplementationDefinedStopFetching"), Unknown))), Unknown)); - (Tu_aux( (Tu_id (Id_aux( (Id "ImplementationDefinedThreadStart"), Unknown))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "TMStart"), Unknown)))), Unknown)); - (Tu_aux( (Tu_id (Id_aux( (Id "TMCommit"), Unknown))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant five), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Id_aux( (Id "TMAbort"), Unknown)))), Unknown)); - (Tu_aux( (Tu_id (Id_aux( (Id "TMTest"), Unknown))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Id_aux( (Id "CompareAndBranch"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Id_aux( (Id "BranchConditional"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant fifteen), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixteen), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "GenerateExceptionEL1"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant fifteen), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixteen), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "GenerateExceptionEL2"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant fifteen), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixteen), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "GenerateExceptionEL3"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant fifteen), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixteen), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "DebugBreakpoint"), Unknown)))), Unknown)); - (Tu_aux( (Tu_id (Id_aux( (Id "ExternalDebugBreakpoint"), Unknown))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "DebugSwitchToExceptionLevel"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "PSTATEField"), Unknown))), Unknown))]), Unknown)), (Id_aux( (Id "MoveSystemImmediate"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_id (Id_aux( (Id "SystemHintOp"), Unknown))), Unknown)), (Id_aux( (Id "Hint"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "ClearExclusiveMonitor"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "MemBarrierOp"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "MBReqDomain"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "MBReqTypes"), Unknown))), Unknown))]), Unknown)), (Id_aux( (Id "Barrier"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown))]), Unknown)), (Id_aux( (Id "System"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown))]), Unknown)), (Id_aux( (Id "MoveSystemRegister"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Id_aux( (Id "TestBitAndBranch"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "BranchType"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Id_aux( (Id "BranchImmediate"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "BranchType"), Unknown))), Unknown))]), Unknown)), (Id_aux( (Id "BranchRegister"), Unknown)))), Unknown)); - (Tu_aux( (Tu_id (Id_aux( (Id "ExceptionReturn"), Unknown))), Unknown)); - (Tu_aux( (Tu_id (Id_aux( (Id "DebugRestorePState"), Unknown))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "MemOp"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Id_aux( (Id "LoadLiteral"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "AccType"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "MemOp"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Id_aux( (Id "LoadStoreAcqExc"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "AccType"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "MemOp"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Id_aux( (Id "LoadStorePairNonTemp"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "AccType"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "MemOp"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Id_aux( (Id "LoadImmediate"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "AccType"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "MemOp"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "ExtendType"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Id_aux( (Id "LoadRegister"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "AccType"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "MemOp"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Id_aux( (Id "LoadStorePair"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Id_aux( (Id "AddSubImmediate"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Id_aux( (Id "BitfieldMove"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown))]), Unknown)), (Id_aux( (Id "ExtractRegister"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "LogicalOp"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Id_aux( (Id "LogicalImmediate"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant fifteen), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixteen), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "MoveWideOp"), Unknown))), Unknown))]), Unknown)), (Id_aux( (Id "MoveWide"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Id_aux( (Id "Address"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "ExtendType"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "range"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant zero), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant seven), Unknown))), Unknown))])), Unknown))]), Unknown)), (Id_aux( (Id "AddSubExtendRegister"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "ShiftType"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "range"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant zero), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown))])), Unknown))]), Unknown)), (Id_aux( (Id "AddSubShiftedRegister"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown))]), Unknown)), (Id_aux( (Id "AddSubCarry"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Id_aux( (Id "ConditionalCompareImmediate"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown))]), Unknown)), (Id_aux( (Id "ConditionalCompareRegister"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown))]), Unknown)), (Id_aux( (Id "ConditionalSelect"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "RevOp"), Unknown))), Unknown))]), Unknown)), (Id_aux( (Id "Reverse"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "CountOp"), Unknown))), Unknown))]), Unknown)), (Id_aux( (Id "CountLeading"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown))]), Unknown)), (Id_aux( (Id "Division"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "ShiftType"), Unknown))), Unknown))]), Unknown)), (Id_aux( (Id "Shift"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown))]), Unknown)), (Id_aux( (Id "CRC"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown))]), Unknown)), (Id_aux( (Id "MultiplyAddSub"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown))]), Unknown)), (Id_aux( (Id "MultiplyAddSubLong"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown))]), Unknown)), (Id_aux( (Id "MultiplyHigh"), Unknown)))), Unknown)); - (Tu_aux( (Tu_ty_id( (Typ_aux( (Typ_tup [(Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "LogicalOp"), Unknown))), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "ShiftType"), Unknown))), Unknown)); (Typ_aux( (Typ_app( (Id_aux( (Id "range"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant zero), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown))])), Unknown)); (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown))]), Unknown)), (Id_aux( (Id "LogicalShiftedRegister"), Unknown)))), Unknown));], false)), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_barr, Unknown)); (BE_aux( BE_eamem, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_exmem, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "execute"), Unknown)))), - (Unknown, (Some ((T_fn( (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_barr, Unknown)); (BE_aux( BE_eamem, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_exmem, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeTMStart"), Unknown)), (P_aux( (P_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "t"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "TMStart"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_extern_no_rename( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "TMCommitEffect"), Unknown)))), - (Unknown, (Some ((T_fn( (T_id "unit"), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)))), (Tag_extern None), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeTMCommit"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "TMCommit"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeTMTest"), Unknown)), (P_aux( (P_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "TMTest"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeTMAbort"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "R"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm5"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const five); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "TMAbort"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "R"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "imm5"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const five); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeCompareBranchImmediate"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm19"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 18))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 19))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_add [(Ne_const five); (Ne_const one)])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "t"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "iszero"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'nv42"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'nv42"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'nv42"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'nv42"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv43")); (T_arg_nexp (Ne_var "'nv42"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "offset"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "SignExtend"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm19"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 18))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 19))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_const(Nat_big_num.of_int 19))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_const two)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_const two)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv45"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv45")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "CompareAndBranch"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "iszero"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_add [(Ne_const five); (Ne_const one)])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeConditionalBranchImmediate"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm19"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 18))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 19))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "_cond"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_add [(Ne_const one); (Ne_add [(Ne_const four); (Ne_const seven)])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "offset"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "SignExtend"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm19"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 18))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 19))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_const(Nat_big_num.of_int 19))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_const two)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_const two)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv15"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv15")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "condition"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "_cond"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "BranchConditional"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "condition"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_add [(Ne_const one); (Ne_add [(Ne_const four); (Ne_const seven)])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtyone), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtytwo), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "decodeExceptionGeneration"), Unknown)))), - (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeExceptionGeneration"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm16"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant fifteen), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixteen), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "imm"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "imm16"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "GenerateExceptionEL1"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeExceptionGeneration"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm16"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant fifteen), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixteen), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "imm"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "imm16"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "GenerateExceptionEL2"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeExceptionGeneration"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm16"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant fifteen), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixteen), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "imm"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "imm16"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "GenerateExceptionEL3"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeExceptionGeneration"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm16"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant fifteen), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixteen), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "comment"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "imm16"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "DebugBreakpoint"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "comment"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeExceptionGeneration"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm16"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "ExternalDebugBreakpoint"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeExceptionGeneration"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm16"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "LL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "target_level"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "LL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "LL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv72")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv74")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "DebugSwitchToExceptionLevel"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "target_level"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtyone), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtytwo), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "decodeSystem"), Unknown)))), - (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeSystem"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "CRm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "CRm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "PSTATEField"), Unknown))), Unknown)), (Id_aux( (Id "field"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "PSTATEField"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "PSTATEField_DAIFSet"), Unknown))), (Unknown, (Some ((T_id "PSTATEField"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "PSTATEField"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "PSTATEField_DAIFClr"), Unknown))), (Unknown, (Some ((T_id "PSTATEField"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "PSTATEField"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "PSTATEField_SP"), Unknown))), (Unknown, (Some ((T_id "PSTATEField"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "PSTATEField"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "PSTATEField"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "op1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "op2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv21")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const three); (Ne_const three)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_const three)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const three); (Ne_const three)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_const three)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "field"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "PSTATEField"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "PSTATEField_SP"), Unknown))), (Unknown, (Some ((T_id "PSTATEField"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const three); (Ne_const three)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_const three)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "field"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "PSTATEField"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "PSTATEField_DAIFSet"), Unknown))), (Unknown, (Some ((T_id "PSTATEField"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const three); (Ne_const three)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_const three)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "field"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "PSTATEField"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "PSTATEField_DAIFClr"), Unknown))), (Unknown, (Some ((T_id "PSTATEField"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const three); (Ne_const three)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_const three)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "MoveSystemImmediate"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "operand"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "field"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "PSTATEField"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeSystem"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "CRm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "SystemHintOp"), Unknown))), Unknown)), (Id_aux( (Id "op"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "SystemHintOp"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "SystemHintOp_NOP"), Unknown))), (Unknown, (Some ((T_id "SystemHintOp"), (Tag_enum six), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "SystemHintOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "SystemHintOp_YIELD"), Unknown))), (Unknown, (Some ((T_id "SystemHintOp"), (Tag_enum six), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "SystemHintOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "SystemHintOp_WFE"), Unknown))), (Unknown, (Some ((T_id "SystemHintOp"), (Tag_enum six), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "SystemHintOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "SystemHintOp_WFI"), Unknown))), (Unknown, (Some ((T_id "SystemHintOp"), (Tag_enum six), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "SystemHintOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num four), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "SystemHintOp_SEV"), Unknown))), (Unknown, (Some ((T_id "SystemHintOp"), (Tag_enum six), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "SystemHintOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num five), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "SystemHintOp_SEVL"), Unknown))), (Unknown, (Some ((T_id "SystemHintOp"), (Tag_enum six), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "SystemHintOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "SystemHintOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "CRm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "op2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const four); (Ne_const three)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const four); (Ne_const three)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const four); (Ne_const three)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const four); (Ne_const three)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "SystemHintOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "SystemHintOp_NOP"), Unknown))), (Unknown, (Some ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const four); (Ne_const three)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const four); (Ne_const three)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "SystemHintOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "SystemHintOp_YIELD"), Unknown))), (Unknown, (Some ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const four); (Ne_const three)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const four); (Ne_const three)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "SystemHintOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "SystemHintOp_WFE"), Unknown))), (Unknown, (Some ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const four); (Ne_const three)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const four); (Ne_const three)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "SystemHintOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "SystemHintOp_WFI"), Unknown))), (Unknown, (Some ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const four); (Ne_const three)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const four); (Ne_const three)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "SystemHintOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "SystemHintOp_SEV"), Unknown))), (Unknown, (Some ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const four); (Ne_const three)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const four); (Ne_const three)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "SystemHintOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "SystemHintOp_SEVL"), Unknown))), (Unknown, (Some ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const four); (Ne_const three)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const four); (Ne_const three)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "SystemHintOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "SystemHintOp_NOP"), Unknown))), (Unknown, (Some ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "Hint"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "SystemHintOp"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeSystem"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "CRm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "imm"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "unsigned"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "CRm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), (Tag_extern (Some "unsigned")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "ClearExclusiveMonitor"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeSystem"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "CRm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "MemBarrierOp"), Unknown))), Unknown)), (Id_aux( (Id "op"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemBarrierOp"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MemBarrierOp_DSB"), Unknown))), (Unknown, (Some ((T_id "MemBarrierOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MemBarrierOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MemBarrierOp_DMB"), Unknown))), (Unknown, (Some ((T_id "MemBarrierOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MemBarrierOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MemBarrierOp_ISB"), Unknown))), (Unknown, (Some ((T_id "MemBarrierOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MemBarrierOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "MemBarrierOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "MBReqDomain"), Unknown))), Unknown)), (Id_aux( (Id "domain"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MBReqDomain"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MBReqDomain_Nonshareable"), Unknown))), (Unknown, (Some ((T_id "MBReqDomain"), (Tag_enum four), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MBReqDomain"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MBReqDomain_InnerShareable"), Unknown))), (Unknown, (Some ((T_id "MBReqDomain"), (Tag_enum four), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MBReqDomain"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MBReqDomain_OuterShareable"), Unknown))), (Unknown, (Some ((T_id "MBReqDomain"), (Tag_enum four), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MBReqDomain"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MBReqDomain_FullSystem"), Unknown))), (Unknown, (Some ((T_id "MBReqDomain"), (Tag_enum four), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MBReqDomain"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "MBReqDomain"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "MBReqTypes"), Unknown))), Unknown)), (Id_aux( (Id "types"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MBReqTypes"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MBReqTypes_Reads"), Unknown))), (Unknown, (Some ((T_id "MBReqTypes"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MBReqTypes"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MBReqTypes_Writes"), Unknown))), (Unknown, (Some ((T_id "MBReqTypes"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MBReqTypes"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MBReqTypes_All"), Unknown))), (Unknown, (Some ((T_id "MBReqTypes"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MBReqTypes"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "MBReqTypes"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemBarrierOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "MemBarrierOp_DSB"), Unknown))), (Unknown, (Some ((T_id "MemBarrierOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemBarrierOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "MemBarrierOp_DMB"), Unknown))), (Unknown, (Some ((T_id "MemBarrierOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemBarrierOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "MemBarrierOp_ISB"), Unknown))), (Unknown, (Some ((T_id "MemBarrierOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_vector_subrange( (E_aux( (E_id (Id_aux( (Id "CRm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const three), (Ne_const two))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "domain"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MBReqDomain"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "MBReqDomain_OuterShareable"), Unknown))), (Unknown, (Some ((T_id "MBReqDomain"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "domain"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MBReqDomain"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "MBReqDomain_Nonshareable"), Unknown))), (Unknown, (Some ((T_id "MBReqDomain"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "domain"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MBReqDomain"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "MBReqDomain_InnerShareable"), Unknown))), (Unknown, (Some ((T_id "MBReqDomain"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "domain"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MBReqDomain"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "MBReqDomain_FullSystem"), Unknown))), (Unknown, (Some ((T_id "MBReqDomain"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_vector_subrange( (E_aux( (E_id (Id_aux( (Id "CRm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const one), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "types"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MBReqTypes"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "MBReqTypes_Reads"), Unknown))), (Unknown, (Some ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "types"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MBReqTypes"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "MBReqTypes_Writes"), Unknown))), (Unknown, (Some ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "types"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MBReqTypes"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "MBReqTypes_All"), Unknown))), (Unknown, (Some ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const one), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "types"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MBReqTypes"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "MBReqTypes_All"), Unknown))), (Unknown, (Some ((T_id "MBReqTypes"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "domain"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MBReqDomain"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "MBReqDomain_FullSystem"), Unknown))), (Unknown, (Some ((T_id "MBReqDomain"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "Barrier"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemBarrierOp"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "domain"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MBReqDomain"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "types"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MBReqTypes"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeSystem"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "L"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "CRn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "CRm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv131")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "t"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv131")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "sys_op0"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "sys_op1"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "op1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const three); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv147"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "sys_op2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "op2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const three); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv149"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "sys_crn"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "CRn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const four); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv151"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "sys_crm"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "CRm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const four); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv153"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "has_result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "L"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv168")); (T_arg_nexp (Ne_var "'nv167"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv168")); (T_arg_nexp (Ne_var "'nv167"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv168")); (T_arg_nexp (Ne_var "'nv167"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv168")); (T_arg_nexp (Ne_var "'nv167"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv168")); (T_arg_nexp (Ne_var "'nv167"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "System"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_op0"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_op1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_op2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_crn"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_crm"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "has_result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeSystem"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "L"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "o0"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "CRn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "CRm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv172")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "t"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv172")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "sys_op0"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_id (Id_aux( (Id "o0"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const one); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv224"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv195"); (Ne_var "'nv196")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "sys_op1"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "op1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const three); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv226"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "sys_op2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "op2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const three); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv228"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "sys_crn"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "CRn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const four); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv230"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "sys_crm"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "CRm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const four); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv232"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "read"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "L"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv247")); (T_arg_nexp (Ne_var "'nv246"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv247")); (T_arg_nexp (Ne_var "'nv246"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv247")); (T_arg_nexp (Ne_var "'nv246"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv247")); (T_arg_nexp (Ne_var "'nv246"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv247")); (T_arg_nexp (Ne_var "'nv246"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "MoveSystemRegister"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_op0"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_op1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_op2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_crn"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_crm"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "read"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtyone), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtytwo), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "decodeImplementationDefined"), Unknown)))), - (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeImplementationDefined"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "isEnd"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "ImplementationDefinedTestBeginEnd"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "isEnd"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeImplementationDefined"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "ImplementationDefinedStopFetching"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeImplementationDefined"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "ImplementationDefinedThreadStart"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeTestBranchImmediate"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "b5"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "b40"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm14"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 13))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 14))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const(Nat_big_num.of_int 14)); (Ne_add [(Ne_const five); (Ne_const one)])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "t"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "b5"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "bit_pos"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_id (Id_aux( (Id "b5"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "b40"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const one); (Ne_const five)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_const five)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv31"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv31")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv32"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "bit_val"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "offset"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "SignExtend"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm14"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 13))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 14))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_const(Nat_big_num.of_int 14))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv42")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const(Nat_big_num.of_int 14)); (Ne_const two)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const(Nat_big_num.of_int 14)); (Ne_const two)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv38"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv38")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "TestBitAndBranch"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "bit_pos"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "bit_val"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const(Nat_big_num.of_int 14)); (Ne_add [(Ne_const five); (Ne_const one)])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeUnconditionalBranchImmediate"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm26"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 25))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 26))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const five); (Ne_add [(Ne_const(Nat_big_num.of_int 26)); (Ne_const one)])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "BranchType"), Unknown))), Unknown)), (Id_aux( (Id "branch_type"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "BranchType"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv24")); (T_arg_nexp (Ne_var "'nv23"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv24")); (T_arg_nexp (Ne_var "'nv23"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv24")); (T_arg_nexp (Ne_var "'nv23"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv24")); (T_arg_nexp (Ne_var "'nv23"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv24")); (T_arg_nexp (Ne_var "'nv23"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "BranchType_CALL"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "BranchType_JMP"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "BranchType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "offset"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "SignExtend"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm26"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 25))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 26))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_const(Nat_big_num.of_int 26))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const(Nat_big_num.of_int 26)); (Ne_const two)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const(Nat_big_num.of_int 26)); (Ne_const two)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv26"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv26")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "BranchImmediate"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "branch_type"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "BranchType"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const five); (Ne_add [(Ne_const(Nat_big_num.of_int 26)); (Ne_const one)])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtyone), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtytwo), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "decodeUnconditionalBranchRegister"), Unknown)))), - (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeUnconditionalBranchRegister"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "BranchType"), Unknown))), Unknown)), (Id_aux( (Id "branch_type"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "BranchType"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "BranchType_CALL"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "BranchType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "BranchType_ERET"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "BranchType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "BranchType_DBGEXIT"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "BranchType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "BranchType_RET"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "BranchType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num four), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "BranchType_JMP"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "BranchType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num five), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "BranchType_EXCEPTION"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "BranchType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num six), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "BranchType_UNKNOWN"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "BranchType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "BranchType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "branch_type"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "BranchType"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "BranchType_JMP"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "branch_type"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "BranchType"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "BranchType_CALL"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "branch_type"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "BranchType"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "BranchType_RET"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "BranchRegister"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "branch_type"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "BranchType"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeUnconditionalBranchRegister"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "ExceptionReturn"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeUnconditionalBranchRegister"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "DebugRestorePState"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeAdvSIMDLoadStoreMultiStruct"), Unknown)), (P_aux( (P_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "decodeAdvSIMDLoadStoreMultiStruct"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "Unallocated"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeAdvSIMDLoadStoreMultiStructPostIndexed"), Unknown)), (P_aux( (P_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "decodeAdvSIMDLoadStoreMultiStructPostIndexed"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "Unallocated"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeAdvSIMDLoadStoreSingleStruct"), Unknown)), (P_aux( (P_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "decodeAdvSIMDLoadStoreSingleStruct"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "Unallocated"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeAdvSIMDLoadStoreSingleStructPostIndexed"), Unknown)), (P_aux( (P_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "decodeAdvSIMDLoadStoreSingleStructPostIndexed"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "Unallocated"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeLoadRegisterLiteral"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm19"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 18))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 19))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_add [(Ne_const five); (Ne_const two)])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "t"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "MemOp"), Unknown))), Unknown)), (Id_aux( (Id "memop"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemOp"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "MemOp_LOAD"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "_signed"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "offset"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num four), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const four))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num four), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const four))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num four), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const four))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "_signed"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "MemOp_PREFETCH"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "SignExtend"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm19"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 18))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 19))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const(Nat_big_num.of_int 19))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv21")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_const two)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_const two)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv17"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv17")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv24"), (Ne_var "'nv25"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "LoadLiteral"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemOp"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "_signed"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_add [(Ne_const five); (Ne_const two)])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeLoadStoreExclusive"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "o2"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "L"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "o1"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rs"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "o0"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "t"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "t2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rt2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "s"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rs"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [ - (E_aux( (E_id (Id_aux( (Id "o2"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "o1"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "o0"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv35")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv37")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_id (Id_aux( (Id "o2"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "o1"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv32")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "o1"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv111")); (T_arg_nexp (Ne_var "'nv110"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv111")); (T_arg_nexp (Ne_var "'nv110"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv111")); (T_arg_nexp (Ne_var "'nv110"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv111")); (T_arg_nexp (Ne_var "'nv110"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv111")); (T_arg_nexp (Ne_var "'nv110"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv93")); (T_arg_nexp (Ne_var "'nv92"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv93")); (T_arg_nexp (Ne_var "'nv92"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv93")); (T_arg_nexp (Ne_var "'nv92"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv93")); (T_arg_nexp (Ne_var "'nv92"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv93")); (T_arg_nexp (Ne_var "'nv92"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "AccType"), Unknown))), Unknown)), (Id_aux( (Id "acctype"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AccType"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "o0"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv126")); (T_arg_nexp (Ne_var "'nv125"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv126")); (T_arg_nexp (Ne_var "'nv125"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv126")); (T_arg_nexp (Ne_var "'nv125"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv126")); (T_arg_nexp (Ne_var "'nv125"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv126")); (T_arg_nexp (Ne_var "'nv125"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "AccType_ORDERED"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "AccType_ATOMIC"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "excl"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "o2"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv141")); (T_arg_nexp (Ne_var "'nv140"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv141")); (T_arg_nexp (Ne_var "'nv140"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv141")); (T_arg_nexp (Ne_var "'nv140"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv141")); (T_arg_nexp (Ne_var "'nv140"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv141")); (T_arg_nexp (Ne_var "'nv140"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "pair"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "o1"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv156")); (T_arg_nexp (Ne_var "'nv155"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv156")); (T_arg_nexp (Ne_var "'nv155"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv156")); (T_arg_nexp (Ne_var "'nv155"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv156")); (T_arg_nexp (Ne_var "'nv155"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv156")); (T_arg_nexp (Ne_var "'nv155"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "MemOp"), Unknown))), Unknown)), (Id_aux( (Id "memop"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemOp"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "L"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv171")); (T_arg_nexp (Ne_var "'nv170"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv171")); (T_arg_nexp (Ne_var "'nv170"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv171")); (T_arg_nexp (Ne_var "'nv170"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv171")); (T_arg_nexp (Ne_var "'nv170"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv171")); (T_arg_nexp (Ne_var "'nv170"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MemOp_LOAD"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MemOp_STORE"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "elsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv177")); (T_arg_nexp (Ne_var "'nv176"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "lsl"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const two); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv175"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv172"), (Ne_exp (Ne_var "'nv173")))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "regsize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "elsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv177")); (T_arg_nexp (Ne_var "'nv176"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "pair"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "elsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv177")); (T_arg_nexp (Ne_var "'nv176"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv193"), (Ne_var "'nv194"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "elsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv177")); (T_arg_nexp (Ne_var "'nv176"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "LoadStoreAcqExc"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "s"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AccType"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "excl"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "pair"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemOp"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "elsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv177")); (T_arg_nexp (Ne_var "'nv176"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "regsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeLoadStoreNoAllocatePairOffset"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "L"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm7"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "wback"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "postindex"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "t"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "t2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rt2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "AccType"), Unknown))), Unknown)), (Id_aux( (Id "acctype"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AccType"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "AccType_STREAM"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "MemOp"), Unknown))), Unknown)), (Id_aux( (Id "memop"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemOp"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "L"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MemOp_LOAD"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MemOp_STORE"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv54")); (T_arg_nexp (Ne_var "'nv53"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv54")); (T_arg_nexp (Ne_var "'nv53"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv54")); (T_arg_nexp (Ne_var "'nv53"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv54")); (T_arg_nexp (Ne_var "'nv53"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv54")); (T_arg_nexp (Ne_var "'nv53"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "scale"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [ - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const one); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv96"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv67"); (Ne_var "'nv68")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "lsl"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "scale"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv100"), (Ne_exp (Ne_var "'nv101")))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "offset"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "LSL"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "SignExtend"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm7"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const seven); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "scale"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "LoadStorePairNonTemp"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AccType"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemOp"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "scale"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "sharedDecodeLoadImmediate"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "scale"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "prefetchAllowed"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))); (T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "AccType"); (T_abbrev( (T_id "bool"), (T_id "bit")))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "t"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "MemOp"), Unknown))), Unknown)), (Id_aux( (Id "memop"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemOp"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MemOp_LOAD"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MemOp_STORE"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MemOp_PREFETCH"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "_signed"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "regsize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MemOp_LOAD"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MemOp_STORE"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "regsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv44")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv46")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "_signed"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "prefetchAllowed"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( - (LEXP_aux( (LEXP_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "MemOp_PREFETCH"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_case( - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv67")); (T_arg_nexp (Ne_var "'nv66"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv67")); (T_arg_nexp (Ne_var "'nv66"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv67")); (T_arg_nexp (Ne_var "'nv66"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv67")); (T_arg_nexp (Ne_var "'nv66"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv67")); (T_arg_nexp (Ne_var "'nv66"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "MemOp_LOAD"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv118")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [ - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv120")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_case( - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv114")); (T_arg_nexp (Ne_var "'nv113"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv114")); (T_arg_nexp (Ne_var "'nv113"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv114")); (T_arg_nexp (Ne_var "'nv113"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv114")); (T_arg_nexp (Ne_var "'nv113"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv114")); (T_arg_nexp (Ne_var "'nv113"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "regsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "_signed"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "lsl"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "scale"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv142"), (Ne_exp (Ne_var "'nv143")))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "LoadImmediate"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemOp"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "_signed"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "regsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))); (T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_id "AccType"); (T_abbrev( (T_id "bool"), (T_id "bit")))]), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeLoadStoreRegisterImmediatePostIndexed"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm9"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const(Nat_big_num.of_int 9)); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "wback"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "postindex"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "scale"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const two); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv25"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "offset"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "SignExtend"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm9"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const(Nat_big_num.of_int 9)); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "sharedDecodeLoadImmediate"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "scale"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "AccType_NORMAL"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const(Nat_big_num.of_int 9)); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeLoadStoreRegisterImmediatePreIndexed"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm9"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const(Nat_big_num.of_int 9)); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "wback"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "postindex"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "scale"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const two); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv25"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "offset"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "SignExtend"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm9"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const(Nat_big_num.of_int 9)); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "sharedDecodeLoadImmediate"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "scale"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "AccType_NORMAL"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const(Nat_big_num.of_int 9)); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "sharedDecodeLoadRegister"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "scale"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "extend_type"), Unknown))), (Unknown, (Some ((T_id "ExtendType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))); (T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))); (T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_id "ExtendType"); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "t"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "m"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "AccType"), Unknown))), Unknown)), (Id_aux( (Id "acctype"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AccType"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "AccType_NORMAL"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "MemOp"), Unknown))), Unknown)), (Id_aux( (Id "memop"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemOp"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MemOp_LOAD"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MemOp_STORE"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MemOp_PREFETCH"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "_signed"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "regsize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_var "'nv18"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MemOp_LOAD"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MemOp_STORE"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "regsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv44")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv46")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "_signed"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "MemOp_PREFETCH"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv67")); (T_arg_nexp (Ne_var "'nv66"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv67")); (T_arg_nexp (Ne_var "'nv66"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv67")); (T_arg_nexp (Ne_var "'nv66"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv67")); (T_arg_nexp (Ne_var "'nv66"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv67")); (T_arg_nexp (Ne_var "'nv66"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "MemOp_LOAD"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv118")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [ - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv120")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_case( - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv114")); (T_arg_nexp (Ne_var "'nv113"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv114")); (T_arg_nexp (Ne_var "'nv113"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv114")); (T_arg_nexp (Ne_var "'nv113"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv114")); (T_arg_nexp (Ne_var "'nv113"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv114")); (T_arg_nexp (Ne_var "'nv113"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "regsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "_signed"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "lsl"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "scale"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv142"), (Ne_exp (Ne_var "'nv143")))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "LoadRegister"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AccType"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemOp"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "_signed"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "extend_type"), Unknown))), (Unknown, (Some ((T_id "ExtendType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "regsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))); (T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))); (T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))); (T_id "ExtendType"); (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)])))))]), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeLoadStoreRegisterRegisterOffset"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv27")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "option_v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "S"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "wback"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "postindex"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "scale"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv27")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const two); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv29"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_vector_access( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "option_v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_var "'nv46"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_var "'nv46"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_var "'nv46"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_var "'nv46"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_var "'nv46"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "ExtendType"), Unknown))), Unknown)), (Id_aux( (Id "extend_type"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "ExtendType"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "DecodeRegExtend"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "option_v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "ExtendType"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "shift"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "S"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv65")); (T_arg_nexp (Ne_var "'nv64"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv65")); (T_arg_nexp (Ne_var "'nv64"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv65")); (T_arg_nexp (Ne_var "'nv64"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv65")); (T_arg_nexp (Ne_var "'nv64"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv65")); (T_arg_nexp (Ne_var "'nv64"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "scale"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "sharedDecodeLoadRegister"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv27")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "scale"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "extend_type"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "ExtendType"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeLoadStoreRegisterUnprivileged"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm9"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const(Nat_big_num.of_int 9)); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "wback"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "postindex"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "scale"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const two); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv25"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "offset"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "SignExtend"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm9"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const(Nat_big_num.of_int 9)); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "sharedDecodeLoadImmediate"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "scale"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "AccType_UNPRIV"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const(Nat_big_num.of_int 9)); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeLoadStoreRegisterUnscaledImmediate"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm9"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const(Nat_big_num.of_int 9)); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "wback"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "postindex"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "scale"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const two); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv25"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "offset"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "SignExtend"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm9"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const(Nat_big_num.of_int 9)); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "sharedDecodeLoadImmediate"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv23")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "scale"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "AccType_NORMAL"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const(Nat_big_num.of_int 9)); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeLoadStoreRegisterUnsignedImmediate"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm12"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 12))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const(Nat_big_num.of_int 12)); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "wback"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "postindex"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "scale"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const two); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv21"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "offset"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "LSL"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm12"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 12))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const(Nat_big_num.of_int 12)); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const(Nat_big_num.of_int 12))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "scale"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "sharedDecodeLoadImmediate"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "scale"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "AccType_NORMAL"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const(Nat_big_num.of_int 12)); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "sharedDecodeLoadStorePair"), Unknown)), (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "L"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv16")); (T_arg_nexp (Ne_var "'nv15"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm7"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv110"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv110")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv16")); (T_arg_nexp (Ne_var "'nv15"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv110"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv110")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))); (T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))); (T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "t"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "t2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rt2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "AccType"), Unknown))), Unknown)), (Id_aux( (Id "acctype"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AccType"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "AccType_NORMAL"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "MemOp"), Unknown))), Unknown)), (Id_aux( (Id "memop"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemOp"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "L"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv16")); (T_arg_nexp (Ne_var "'nv15"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MemOp_LOAD"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MemOp_STORE"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [ - (E_aux( (E_if( - (E_aux( (E_app( (Id_aux( (Id "is_one"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "L"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv16")); (T_arg_nexp (Ne_var "'nv15"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "is_one")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv37")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv39")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv31")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv33")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "_signed"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv60")); (T_arg_nexp (Ne_var "'nv59"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv60")); (T_arg_nexp (Ne_var "'nv59"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv60")); (T_arg_nexp (Ne_var "'nv59"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv60")); (T_arg_nexp (Ne_var "'nv59"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv60")); (T_arg_nexp (Ne_var "'nv59"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "scale"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [ - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const one); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv102"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv73"); (Ne_var "'nv74")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "lsl"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "scale"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv106"), (Ne_exp (Ne_var "'nv107")))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "offset"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "LSL"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "SignExtend"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "imm7"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv110"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv110")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "scale"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "LoadStorePair"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "AccType"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MemOp"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "_signed"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_tup [(T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv16")); (T_arg_nexp (Ne_var "'nv15"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv110"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv110")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))); (T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))); (T_abbrev( (T_id "reg_size"), (T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))); (T_abbrev( (T_id "boolean"), (T_id "bit"))); (T_abbrev( (T_id "boolean"), (T_id "bit")))]), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeLoadStoreRegisterPairOffset"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv21")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "L"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm7"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "wback"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "postindex"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "sharedDecodeLoadStorePair"), Unknown)), [ - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "L"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv21")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm7"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const seven); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "Rt2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeLoadStoreRegisterPairPostIndexed"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv21")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "L"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm7"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "wback"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "postindex"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "sharedDecodeLoadStorePair"), Unknown)), [ - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "L"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv21")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm7"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const seven); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "Rt2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeLoadStoreRegisterPairPreIndexed"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv21")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "L"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm7"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "wback"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "postindex"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "sharedDecodeLoadStorePair"), Unknown)), [ - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "L"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv22")); (T_arg_nexp (Ne_var "'nv23"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv21")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm7"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const six)); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const seven); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const seven)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "Rt"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "Rt2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv9")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeAddSubtractImmediate"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "S"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm12"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 12))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const(Nat_big_num.of_int 12)); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "d"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "sub_op"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "setflags"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "S"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "imm"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm12"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 12))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const(Nat_big_num.of_int 12)); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const(Nat_big_num.of_int 12))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm12"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 12))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv70")); (T_arg_nexp (Ne_const(Nat_big_num.of_int 12))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv79")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "^^"), Unknown)), (E_aux( (E_lit (L_aux( (L_num(Nat_big_num.of_int 12)), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 12)))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv79")); (T_arg_nexp (Ne_mult( (Ne_const one), (Ne_var "'nv77")))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "duplicate_bits")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv72")); (T_arg_nexp (Ne_var "'nv77")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const(Nat_big_num.of_int 12)); (Ne_var "'nv77")]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const(Nat_big_num.of_int 12)); (Ne_var "'nv77")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv68"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv68")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ReservedValue"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "AddSubImmediate"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const(Nat_big_num.of_int 12)); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeBitfield"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "immr"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imms"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const six); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "d"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "inzero"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "extend"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "R"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "S"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "inzero"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "extend"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "inzero"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "extend"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "inzero"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "extend"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv96")); (T_arg_nexp (Ne_var "'nv95"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv96")); (T_arg_nexp (Ne_var "'nv95"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv96")); (T_arg_nexp (Ne_var "'nv95"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv96")); (T_arg_nexp (Ne_var "'nv95"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv96")); (T_arg_nexp (Ne_var "'nv95"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_var "'nv80"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_var "'nv80"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_var "'nv80"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_var "'nv80"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_var "'nv80"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ReservedValue"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv536")); (T_arg_nexp (Ne_var "'nv535"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv536")); (T_arg_nexp (Ne_var "'nv535"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv536")); (T_arg_nexp (Ne_var "'nv535"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv536")); (T_arg_nexp (Ne_var "'nv535"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv536")); (T_arg_nexp (Ne_var "'nv535"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv521")); (T_arg_nexp (Ne_var "'nv520"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv521")); (T_arg_nexp (Ne_var "'nv520"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv521")); (T_arg_nexp (Ne_var "'nv520"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv521")); (T_arg_nexp (Ne_var "'nv520"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv521")); (T_arg_nexp (Ne_var "'nv520"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_case( - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "immr"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num five), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const five))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv503")); (T_arg_nexp (Ne_var "'nv502"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv503")); (T_arg_nexp (Ne_var "'nv502"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv503")); (T_arg_nexp (Ne_var "'nv502"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv503")); (T_arg_nexp (Ne_var "'nv502"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv503")); (T_arg_nexp (Ne_var "'nv502"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "imms"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num five), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const five))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv482")); (T_arg_nexp (Ne_var "'nv481"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv482")); (T_arg_nexp (Ne_var "'nv481"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv482")); (T_arg_nexp (Ne_var "'nv481"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv482")); (T_arg_nexp (Ne_var "'nv481"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv482")); (T_arg_nexp (Ne_var "'nv481"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ReservedValue"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "R"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "immr"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const six); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv538"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "S"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imms"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const six); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv540"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "wmask"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "tmask"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "DecodeBitMasks"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "imms"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "immr"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "BitfieldMove"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "inzero"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "extend"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "R"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "S"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "wmask"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "tmask"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const six); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeExtract"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imms"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "d"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "m"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "lsb"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv121")); (T_arg_nexp (Ne_var "'nv120"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv121")); (T_arg_nexp (Ne_var "'nv120"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv121")); (T_arg_nexp (Ne_var "'nv120"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv121")); (T_arg_nexp (Ne_var "'nv120"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv121")); (T_arg_nexp (Ne_var "'nv120"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "imms"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num five), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const five))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_var "'nv102"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_var "'nv102"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_var "'nv102"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_var "'nv102"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv103")); (T_arg_nexp (Ne_var "'nv102"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ReservedValue"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "lsb"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imms"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const six); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv123"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "ExtractRegister"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "lsb"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeLogicalImmediate"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "immr"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imms"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const six); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "d"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "setflags"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "LogicalOp"), Unknown))), Unknown)), (Id_aux( (Id "op"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "LogicalOp"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "LogicalOp_AND"), Unknown))), (Unknown, (Some ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv17")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "LogicalOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "LogicalOp_AND"), Unknown))), (Unknown, (Some ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "LogicalOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "LogicalOp_ORR"), Unknown))), (Unknown, (Some ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "LogicalOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "LogicalOp_EOR"), Unknown))), (Unknown, (Some ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "LogicalOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "LogicalOp_AND"), Unknown))), (Unknown, (Some ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv96")); (T_arg_nexp (Ne_var "'nv95"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv96")); (T_arg_nexp (Ne_var "'nv95"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv96")); (T_arg_nexp (Ne_var "'nv95"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv96")); (T_arg_nexp (Ne_var "'nv95"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv96")); (T_arg_nexp (Ne_var "'nv95"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_var "'nv80"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_var "'nv80"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_var "'nv80"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_var "'nv80"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv81")); (T_arg_nexp (Ne_var "'nv80"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ReservedValue"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_app( (Id_aux( (Id "DecodeBitMasks"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "imms"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "immr"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "0v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "1v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_tuple [(E_aux( (E_id (Id_aux( (Id "0v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "1v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "LogicalImmediate"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "LogicalOp"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const six); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeMoveWideImmediate"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "hw"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm16"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const two); (Ne_add [(Ne_const sixteen); (Ne_add [(Ne_const five); (Ne_const one)])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "d"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_var "'nv29"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant fifteen), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixteen), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "imm"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "imm16"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "pos"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "MoveWideOp"), Unknown))), Unknown)), (Id_aux( (Id "opcode"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MoveWideOp"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MoveWideOp_N"), Unknown))), (Unknown, (Some ((T_id "MoveWideOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MoveWideOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MoveWideOp_Z"), Unknown))), (Unknown, (Some ((T_id "MoveWideOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MoveWideOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "MoveWideOp_K"), Unknown))), (Unknown, (Some ((T_id "MoveWideOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "MoveWideOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "MoveWideOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "opcode"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MoveWideOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "MoveWideOp_N"), Unknown))), (Unknown, (Some ((T_id "MoveWideOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "opcode"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MoveWideOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "MoveWideOp_Z"), Unknown))), (Unknown, (Some ((T_id "MoveWideOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "opcode"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MoveWideOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "MoveWideOp_K"), Unknown))), (Unknown, (Some ((T_id "MoveWideOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv104")); (T_arg_nexp (Ne_var "'nv103"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv104")); (T_arg_nexp (Ne_var "'nv103"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv104")); (T_arg_nexp (Ne_var "'nv103"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv104")); (T_arg_nexp (Ne_var "'nv103"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv104")); (T_arg_nexp (Ne_var "'nv103"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "hw"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_var "'nv85"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_var "'nv85"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_var "'nv85"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_var "'nv85"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_var "'nv85"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "pos"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "hw"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv108")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [ - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv110")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const two); (Ne_const four)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_const four)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv105"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv105")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv106"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "MoveWide"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "pos"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "opcode"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "MoveWideOp"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const two); (Ne_add [(Ne_const sixteen); (Ne_add [(Ne_const five); (Ne_const one)])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodePCRelAddressing"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "immlo"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "immhi"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 18))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 19))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_add [(Ne_const five); (Ne_const one)])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "d"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "page"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv28")); (T_arg_nexp (Ne_var "'nv27"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "imm"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "page"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "SignExtend"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "immhi"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 18))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 19))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv32")); (T_arg_nexp (Ne_const(Nat_big_num.of_int 19))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "immlo"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv45")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "^^"), Unknown)), (E_aux( (E_lit (L_aux( (L_num(Nat_big_num.of_int 12)), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 12)))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv45")); (T_arg_nexp (Ne_mult( (Ne_const one), (Ne_var "'nv43")))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "duplicate_bits")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv43")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const two); (Ne_var "'nv43")]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_var "'nv43")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_var "'nv33")]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_var "'nv33")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv30"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv30")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "SignExtend"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "immhi"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 18))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 19))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_const(Nat_big_num.of_int 19))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "immlo"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv51")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_const two)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_const two)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv47"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'nv47")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "Address"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "page"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_add [(Ne_const five); (Ne_const one)])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeAddSubtractExtendedRegister"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "S"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "option_v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const three); (Ne_add [(Ne_const three); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "d"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "m"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv40")); (T_arg_nexp (Ne_var "'nv39"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "sub_op"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_var "'nv54"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_var "'nv54"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_var "'nv54"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_var "'nv54"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_var "'nv54"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "setflags"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "S"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv70")); (T_arg_nexp (Ne_var "'nv69"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv70")); (T_arg_nexp (Ne_var "'nv69"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv70")); (T_arg_nexp (Ne_var "'nv69"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv70")); (T_arg_nexp (Ne_var "'nv69"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv70")); (T_arg_nexp (Ne_var "'nv69"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "ExtendType"), Unknown))), Unknown)), (Id_aux( (Id "extend_type"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "ExtendType"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "DecodeRegExtend"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "option_v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "ExtendType"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "range"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant zero), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant seven), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "shift"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const seven))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const three); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv72"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const seven))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id ">"), Unknown)), (E_aux( (E_lit (L_aux( (L_num four), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const four))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "gt")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ReservedValue"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "AddSubExtendRegister"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "extend_type"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "ExtendType"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const seven))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const three); (Ne_add [(Ne_const three); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeAddSubtractShiftedRegister"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "S"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm6"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "d"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "m"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "sub_op"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "setflags"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "S"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv68")); (T_arg_nexp (Ne_var "'nv67"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv68")); (T_arg_nexp (Ne_var "'nv67"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv68")); (T_arg_nexp (Ne_var "'nv67"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv68")); (T_arg_nexp (Ne_var "'nv67"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv68")); (T_arg_nexp (Ne_var "'nv67"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv69")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv71")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ReservedValue"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv145")); (T_arg_nexp (Ne_var "'nv144"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv145")); (T_arg_nexp (Ne_var "'nv144"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv145")); (T_arg_nexp (Ne_var "'nv144"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv145")); (T_arg_nexp (Ne_var "'nv144"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv145")); (T_arg_nexp (Ne_var "'nv144"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "imm6"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num five), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const five))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_var "'nv126"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_var "'nv126"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_var "'nv126"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_var "'nv126"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_var "'nv126"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ReservedValue"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "ShiftType"), Unknown))), Unknown)), (Id_aux( (Id "shift_type"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "ShiftType"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "DecodeShift"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "ShiftType"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "range"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant zero), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "shift_amount"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const sixtythree))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm6"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const six); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv147"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "AddSubShiftedRegister"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "shift_type"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "ShiftType"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "shift_amount"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const sixtythree))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeAddSubtractWithCarry"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "S"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const eight); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "d"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "m"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "sub_op"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "setflags"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "S"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv64")); (T_arg_nexp (Ne_var "'nv63"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "AddSubCarry"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const eight); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeConditionalCompareImmediate"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm5"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "_cond"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "nzcv"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "sub_op"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "condition"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "_cond"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "flags"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "nzcv"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "imm"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm5"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const five); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "ConditionalCompareImmediate"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "condition"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "flags"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeConditionalCompareRegister"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "_cond"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "nzcv"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "m"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv38")); (T_arg_nexp (Ne_var "'nv37"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "sub_op"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_var "'nv52"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "condition"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "_cond"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "flags"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "nzcv"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "ConditionalCompareRegister"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "condition"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "flags"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeConditionalSelect"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "_cond"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "o2"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "d"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "m"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv13")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "condition"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "_cond"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "else_inv"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv51")); (T_arg_nexp (Ne_var "'nv50"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv51")); (T_arg_nexp (Ne_var "'nv50"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv51")); (T_arg_nexp (Ne_var "'nv50"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv51")); (T_arg_nexp (Ne_var "'nv50"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv51")); (T_arg_nexp (Ne_var "'nv50"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "else_inc"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "o2"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv66")); (T_arg_nexp (Ne_var "'nv65"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv66")); (T_arg_nexp (Ne_var "'nv65"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv66")); (T_arg_nexp (Ne_var "'nv65"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv66")); (T_arg_nexp (Ne_var "'nv65"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv66")); (T_arg_nexp (Ne_var "'nv65"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "ConditionalSelect"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "condition"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "else_inv"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "else_inc"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtyone), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtytwo), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "decodeData1Source"), Unknown)))), - (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeData1Source"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "d"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "RevOp"), Unknown))), Unknown)), (Id_aux( (Id "op"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "RevOp"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "RevOp_RBIT"), Unknown))), (Unknown, (Some ((T_id "RevOp"), (Tag_enum four), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "RevOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "RevOp_REV16"), Unknown))), (Unknown, (Some ((T_id "RevOp"), (Tag_enum four), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "RevOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "RevOp_REV32"), Unknown))), (Unknown, (Some ((T_id "RevOp"), (Tag_enum four), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "RevOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "RevOp_REV64"), Unknown))), (Unknown, (Some ((T_id "RevOp"), (Tag_enum four), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "RevOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "RevOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "RevOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "RevOp_RBIT"), Unknown))), (Unknown, (Some ((T_id "RevOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "RevOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "RevOp_REV16"), Unknown))), (Unknown, (Some ((T_id "RevOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "RevOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "RevOp_REV32"), Unknown))), (Unknown, (Some ((T_id "RevOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "RevOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "RevOp_REV64"), Unknown))), (Unknown, (Some ((T_id "RevOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "Reverse"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "RevOp"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeData1Source"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "d"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv84")); (T_arg_nexp (Ne_var "'nv83"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv84")); (T_arg_nexp (Ne_var "'nv83"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv84")); (T_arg_nexp (Ne_var "'nv83"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv84")); (T_arg_nexp (Ne_var "'nv83"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv84")); (T_arg_nexp (Ne_var "'nv83"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "CountOp"), Unknown))), Unknown)), (Id_aux( (Id "opcode"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "CountOp"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv99")); (T_arg_nexp (Ne_var "'nv98"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv99")); (T_arg_nexp (Ne_var "'nv98"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv99")); (T_arg_nexp (Ne_var "'nv98"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv99")); (T_arg_nexp (Ne_var "'nv98"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv99")); (T_arg_nexp (Ne_var "'nv98"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "CountOp_CLZ"), Unknown))), (Unknown, (Some ((T_id "CountOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "CountOp_CLS"), Unknown))), (Unknown, (Some ((T_id "CountOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "CountOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "CountLeading"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "opcode"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "CountOp"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtyone), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtytwo), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "decodeData2Source"), Unknown)))), - (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeData2Source"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "o1"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "d"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "m"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "_unsigned"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "o1"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "Division"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeData2Source"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv61")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv57")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "d"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "m"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv61")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv84")); (T_arg_nexp (Ne_var "'nv83"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv84")); (T_arg_nexp (Ne_var "'nv83"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv84")); (T_arg_nexp (Ne_var "'nv83"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv84")); (T_arg_nexp (Ne_var "'nv83"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv84")); (T_arg_nexp (Ne_var "'nv83"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "ShiftType"), Unknown))), Unknown)), (Id_aux( (Id "shift_type"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "ShiftType"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "DecodeShift"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "op2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv57")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "ShiftType"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "Shift"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "shift_type"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "ShiftType"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeData2Source"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv98")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "C"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "sz"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv90")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv88")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "d"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv88")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv90")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "m"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv98")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv144")); (T_arg_nexp (Ne_var "'nv143"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv144")); (T_arg_nexp (Ne_var "'nv143"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv144")); (T_arg_nexp (Ne_var "'nv143"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv144")); (T_arg_nexp (Ne_var "'nv143"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv144")); (T_arg_nexp (Ne_var "'nv143"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "sz"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv129")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv182")); (T_arg_nexp (Ne_var "'nv181"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv182")); (T_arg_nexp (Ne_var "'nv181"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv182")); (T_arg_nexp (Ne_var "'nv181"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv182")); (T_arg_nexp (Ne_var "'nv181"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv182")); (T_arg_nexp (Ne_var "'nv181"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "sz"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv165")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv167")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "size"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "lsl"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "sz"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const two); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv186"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv183"), (Ne_exp (Ne_var "'nv184")))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "crc32c"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "C"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv201")); (T_arg_nexp (Ne_var "'nv200"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv201")); (T_arg_nexp (Ne_var "'nv200"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv201")); (T_arg_nexp (Ne_var "'nv200"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv201")); (T_arg_nexp (Ne_var "'nv200"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv201")); (T_arg_nexp (Ne_var "'nv200"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "CRC"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "crc32c"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtyone), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtytwo), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "decodeData3Source"), Unknown)))), - (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeData3Source"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "o0"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Ra"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "d"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "m"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "a"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Ra"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "destsize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv34")); (T_arg_nexp (Ne_var "'nv33"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "destsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "sub_op"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "o0"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_var "'nv48"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "MultiplyAddSub"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "a"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "destsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeData3Source"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "U"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv61")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "o0"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Ra"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv57")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "d"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv53")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv55")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "m"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv61")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "a"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Ra"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv57")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "destsize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "sub_op"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "o0"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_var "'nv85"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_var "'nv85"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_var "'nv85"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_var "'nv85"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv86")); (T_arg_nexp (Ne_var "'nv85"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "_unsigned"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "U"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv101")); (T_arg_nexp (Ne_var "'nv100"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv101")); (T_arg_nexp (Ne_var "'nv100"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv101")); (T_arg_nexp (Ne_var "'nv100"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv101")); (T_arg_nexp (Ne_var "'nv100"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv101")); (T_arg_nexp (Ne_var "'nv100"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "MultiplyAddSubLong"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "a"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "destsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeData3Source"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "U"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv113")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Ra"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv109")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv107")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv105")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "d"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv105")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv107")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "m"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv113")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "a"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Ra"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv109")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "destsize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "destsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "_unsigned"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "U"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv138")); (T_arg_nexp (Ne_var "'nv137"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "MultiplyHigh"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "a"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "destsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeLogicalShiftedRegister"), Unknown)), (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm6"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "d"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rd"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "n"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rn"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "reg_index"), Unknown))), Unknown)), (Id_aux( (Id "m"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt_reg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "Rm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv11")); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "atom"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "datasize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv36")); (T_arg_nexp (Ne_var "'nv35"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "setflags"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "LogicalOp"), Unknown))), Unknown)), (Id_aux( (Id "op"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "LogicalOp"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "LogicalOp_AND"), Unknown))), (Unknown, (Some ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "opc"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv19")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "LogicalOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "LogicalOp_AND"), Unknown))), (Unknown, (Some ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "LogicalOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "LogicalOp_ORR"), Unknown))), (Unknown, (Some ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "LogicalOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "LogicalOp_EOR"), Unknown))), (Unknown, (Some ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "LogicalOp"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "LogicalOp_AND"), Unknown))), (Unknown, (Some ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "sf"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv110")); (T_arg_nexp (Ne_var "'nv109"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv110")); (T_arg_nexp (Ne_var "'nv109"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv110")); (T_arg_nexp (Ne_var "'nv109"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv110")); (T_arg_nexp (Ne_var "'nv109"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv110")); (T_arg_nexp (Ne_var "'nv109"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "imm6"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num five), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const five))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_var "'nv91"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_var "'nv91"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_var "'nv91"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_var "'nv91"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_var "'nv91"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ReservedValue"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "ShiftType"), Unknown))), Unknown)), (Id_aux( (Id "shift_type"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "ShiftType"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "DecodeShift"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant one), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant two), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv15")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "ShiftType"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "range"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant zero), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "shift_amount"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const sixtythree))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm6"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const six); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv112"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "invert"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "N"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_var "'nv126"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_var "'nv126"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_var "'nv126"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_var "'nv126"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv127")); (T_arg_nexp (Ne_var "'nv126"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "LogicalShiftedRegister"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "LogicalOp"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "shift_type"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "ShiftType"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "shift_amount"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const sixtythree))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "invert"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeDataSIMDFPoint1"), Unknown)), (P_aux( (P_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "decodeDataSIMDFPoint1"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "Unallocated"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeDataSIMDFPoint2"), Unknown)), (P_aux( (P_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "not_implemented"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "decodeDataSIMDFPoint2"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "Unallocated"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeDataRegister"), Unknown)), (P_aux( (P_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeLogicalShiftedRegister"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv30")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeAddSubtractShiftedRegister"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv61")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeAddSubtractExtendedRegister"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv92")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const three); (Ne_add [(Ne_const three); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeAddSubtractWithCarry"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv123")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const eight); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeConditionalCompareRegister"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeConditionalCompareImmediate"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeConditionalSelect"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeData3Source"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeData2Source"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const eight)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeData1Source"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeDataImmediate"), Unknown)), (P_aux( (P_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 22))); (T_arg_nexp (Ne_const twentythree)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodePCRelAddressing"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv18")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_add [(Ne_const five); (Ne_const one)])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 22))); (T_arg_nexp (Ne_const twentythree)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeAddSubtractImmediate"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv37")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const two); (Ne_add [(Ne_const(Nat_big_num.of_int 12)); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 22))); (T_arg_nexp (Ne_const twentythree)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeLogicalImmediate"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv56")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const six); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 22))); (T_arg_nexp (Ne_const twentythree)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeMoveWideImmediate"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv75")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const two); (Ne_add [(Ne_const sixteen); (Ne_add [(Ne_const five); (Ne_const one)])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 22))); (T_arg_nexp (Ne_const twentythree)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeBitfield"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv94")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const six); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 22))); (T_arg_nexp (Ne_const twentythree)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeExtract"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv113")); (T_arg_nexp (Ne_add [(Ne_const two); (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const six); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const one)])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeLoadsStores"), Unknown)), (P_aux( (P_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeLoadStoreExclusive"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv42")); (T_arg_nexp (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeLoadRegisterLiteral"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv85")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_add [(Ne_const five); (Ne_const two)])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeLoadStoreNoAllocatePairOffset"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv128")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeLoadStoreRegisterPairPostIndexed"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv171")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeLoadStoreRegisterPairOffset"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv214")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeLoadStoreRegisterPairPreIndexed"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv257")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const seven); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeLoadStoreRegisterUnscaledImmediate"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv300")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const(Nat_big_num.of_int 9)); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeLoadStoreRegisterImmediatePostIndexed"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv343")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const(Nat_big_num.of_int 9)); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeLoadStoreRegisterUnprivileged"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv386")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const(Nat_big_num.of_int 9)); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeLoadStoreRegisterImmediatePreIndexed"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv429")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const(Nat_big_num.of_int 9)); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeLoadStoreRegisterRegisterOffset"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv472")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeLoadStoreRegisterUnsignedImmediate"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv515")); (T_arg_nexp (Ne_add [(Ne_const three); (Ne_add [(Ne_const one); (Ne_add [(Ne_const two); (Ne_add [(Ne_const two); (Ne_add [(Ne_const(Nat_big_num.of_int 12)); (Ne_add [(Ne_const five); (Ne_add [(Ne_const five); (Ne_const two)])])])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeAdvSIMDLoadStoreMultiStruct"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeAdvSIMDLoadStoreMultiStructPostIndexed"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeAdvSIMDLoadStoreSingleStruct"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeAdvSIMDLoadStoreSingleStructPostIndexed"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeSystemImplementationDefined"), Unknown)), (P_aux( (P_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 12))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeImplementationDefined"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 12))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeImplementationDefined"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 10))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 12))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeSystem"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [ ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decodeBranchesExceptionSystem"), Unknown)), (P_aux( (P_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 21))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 22))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeUnconditionalBranchImmediate"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv24")); (T_arg_nexp (Ne_add [(Ne_const five); (Ne_add [(Ne_const(Nat_big_num.of_int 26)); (Ne_const one)])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 21))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 22))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeCompareBranchImmediate"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv49")); (T_arg_nexp (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_add [(Ne_const five); (Ne_const one)])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 21))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 22))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeTestBranchImmediate"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv74")); (T_arg_nexp (Ne_add [(Ne_const six); (Ne_add [(Ne_const one); (Ne_add [(Ne_const five); (Ne_add [(Ne_const(Nat_big_num.of_int 14)); (Ne_add [(Ne_const five); (Ne_const one)])])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 21))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 22))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeConditionalBranchImmediate"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv99")); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_add [(Ne_const(Nat_big_num.of_int 19)); (Ne_add [(Ne_const one); (Ne_add [(Ne_const four); (Ne_const seven)])])])])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 21))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 22))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeExceptionGeneration"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 21))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 22))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeSystemImplementationDefined"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 21))); (T_arg_nexp (Ne_const(Nat_big_num.of_int 22))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeUnconditionalBranchRegister"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( (Effect_opt_effect (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))), Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "decode"), Unknown)), (P_aux( (P_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const twentyfour)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 25))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "Unallocated"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const twentyfour)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 25))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeDataImmediate"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const twentyfour)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 25))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeBranchesExceptionSystem"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const twentyfour)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 25))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeLoadsStores"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( P_wild, (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const twentyfour)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 25))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeDataRegister"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const twentyfour)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 25))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeDataSIMDFPoint1"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_vector_concat [(P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const two)); (T_arg_nexp (Ne_const three)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_vector [(P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const twentyfour)); (T_arg_nexp (Ne_const(Nat_big_num.of_int 25))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "decodeDataSIMDFPoint2"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "machineCode"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_id (Id_aux( (Id "unit"), Unknown))), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "TMStart"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant seven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant eight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "nesting"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "TxNestingLevel"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "TxNestingLevel")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "nesting"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv7")); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "<_u"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "TXIDR_EL0"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "TXIDR_EL0_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "DEPTH"), Unknown)))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv8")); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "lt_vec_unsigned")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "TxNestingLevel"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "TxNestingLevel")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant seven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant eight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "nesting"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv20")); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv20")); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "TxNestingLevel")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "status"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "nesting"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv47")); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "status"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "TMStartEffect"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "TMSTATUS_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "TMStartEffect")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "status"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "status"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_vector( (LEXP_aux( (LEXP_id (Id_aux( (Id "status"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num(Nat_big_num.of_int 10)), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 10)))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "TMAbortEffect"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "TMSTATUS_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "TMAbortEffect")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "status"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "TMAbortEffect")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "TMAbortEffect")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "TMCommit"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant seven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant eight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "nesting"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "TxNestingLevel"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "TxNestingLevel")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "nesting"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv62")); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "TMCommitEffect"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "nesting"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv73")); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_UndefinedFault"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "TxNestingLevel"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "TxNestingLevel")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant seven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant eight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "nesting"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv87")); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv87")); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "minus_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "TxNestingLevel")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "TxNestingLevel")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_barr, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_barr, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "TMTest"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "TxNestingLevel"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "TxNestingLevel")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id ">"), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "gt_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wPSTATE_NZCV"), Unknown)), [(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wPSTATE_NZCV"), Unknown)), [(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "TMAbort"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "retry"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "reason"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "TxNestingLevel"), Unknown))), (Unknown, (Some ((T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const seven)); (T_arg_nexp (Ne_const eight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), (Tag_extern (Some "TxNestingLevel")), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id ">"), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "gt_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "status"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_vector_range( - (LEXP_aux( (LEXP_id (Id_aux( (Id "status"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num four), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const four))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const four), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "reason"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_vector( - (LEXP_aux( (LEXP_id (Id_aux( (Id "status"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "retry"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_vector( - (LEXP_aux( (LEXP_id (Id_aux( (Id "status"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num(Nat_big_num.of_int 9)), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 9)))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "TMAbortEffect"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "TMSTATUS_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), (Tag_extern (Some "TMAbortEffect")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "status"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "TMAbortEffect")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "TMAbortEffect")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "CompareAndBranch"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "iszero"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand1"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "IsZero"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "iszero"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "BranchTo"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rPC"), Unknown)), [])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv152")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv153")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv152")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "BranchType_JMP"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "BranchConditional"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "condition"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "ConditionHolds"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "condition"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "BranchTo"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rPC"), Unknown)), [])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv182")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv183")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv182")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "BranchType_JMP"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "GenerateExceptionEL1"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "AArch64_CallSupervisor"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "GenerateExceptionEL2"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv260")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv262")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv257")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv259")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "IsSecure"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "hvc_enable"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "SCR_EL3"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SCRType"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "HCE"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "NOT'"), Unknown)), [(E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "HCR_EL2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "HCR_type"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "HCD"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "hvc_enable"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv279")); (T_arg_nexp (Ne_var "'nv278"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv279")); (T_arg_nexp (Ne_var "'nv278"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv279")); (T_arg_nexp (Ne_var "'nv278"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv279")); (T_arg_nexp (Ne_var "'nv278"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv279")); (T_arg_nexp (Ne_var "'nv278"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_UndefinedFault"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_CallHypervisor"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "GenerateExceptionEL3"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv289")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv291")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "AArch64_CheckForSMCTrap"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_field( (E_aux( (E_id (Id_aux( (Id "SCR_EL3"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "SCRType"), (T_app( "register", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "SMD"), Unknown)))), (Unknown, (Some ((T_id "bit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv308")); (T_arg_nexp (Ne_var "'nv307"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv308")); (T_arg_nexp (Ne_var "'nv307"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv308")); (T_arg_nexp (Ne_var "'nv307"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv308")); (T_arg_nexp (Ne_var "'nv307"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv308")); (T_arg_nexp (Ne_var "'nv307"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_UndefinedFault"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_CallSecureMonitor"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "DebugBreakpoint"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "comment"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "AArch64_SoftwareBreakpoint"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "comment"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "ExternalDebugBreakpoint"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "Halt"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "DebugHalt_HaltInstruction"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "DebugSwitchToExceptionLevel"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "target_level"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "DCPSInstruction"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "target_level"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "MoveSystemImmediate"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "operand"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "field"), Unknown))), (Unknown, (Some ((T_id "PSTATEField"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "field"), Unknown))), (Unknown, (Some ((T_id "PSTATEField"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "PSTATEField_SP"), Unknown)), [])), (Unknown, (Some ((T_id "PSTATEField"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_SP"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "operand"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "SPSel")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "PSTATEField_DAIFSet"), Unknown)), [])), (Unknown, (Some ((T_id "PSTATEField"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_D"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "PSTATE_D"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "operand"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_A"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "PSTATE_A"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "operand"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_I"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "PSTATE_I"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "operand"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_F"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "PSTATE_F"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "operand"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "PSTATEField_DAIFClr"), Unknown)), [])), (Unknown, (Some ((T_id "PSTATEField"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_D"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "PSTATE_D"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "NOT'"), Unknown)), [ - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "operand"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num three), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const three))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_A"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "PSTATE_A"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "NOT'"), Unknown)), [ - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "operand"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_I"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "PSTATE_I"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "NOT'"), Unknown)), [ - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "operand"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "PSTATE_F"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "PSTATE_F"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "NOT'"), Unknown)), [ - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "operand"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), (Tag_extern (Some "DAIF")), [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "Hint"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "SystemHintOp"), (Tag_enum six), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "SystemHintOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "SystemHintOp_YIELD"), Unknown)), [])), (Unknown, (Some ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "Hint_Yield"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "SystemHintOp_WFE"), Unknown)), [])), (Unknown, (Some ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "EventRegistered"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ClearEventRegister"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv386")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv388")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_CheckForWFxTrap"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( - (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "IsSecure"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv454")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv456")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv451")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv453")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_CheckForWFxTrap"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "EL2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv464")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv466")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_CheckForWFxTrap"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_true, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "WaitForEvent"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "SystemHintOp_WFI"), Unknown)), [])), (Unknown, (Some ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "InterruptPending"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv469")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv471")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_CheckForWFxTrap"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( - (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "IsSecure"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv537")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL0"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv539")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv534")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL1"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv536")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_CheckForWFxTrap"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "EL2"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( - (E_aux( (E_app( (Id_aux( (Id "HaveEL"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "PSTATE_EL"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv547")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv549")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "AArch64_CheckForWFxTrap"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "EL3"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "WaitForInterrupt"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "SystemHintOp_SEV"), Unknown)), [])), (Unknown, (Some ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "SendEvent"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "SystemHintOp_SEVL"), Unknown)), [])), (Unknown, (Some ((T_id "SystemHintOp"), (Tag_enum five), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "EventRegisterSet"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( P_wild, (Unknown, (Some ((T_id "SystemHintOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "ClearExclusiveMonitor"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "ClearExclusiveLocal"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "ProcessorID"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "Barrier"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "MemBarrierOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "domain"), Unknown))), (Unknown, (Some ((T_id "MBReqDomain"), (Tag_enum four), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "types"), Unknown))), (Unknown, (Some ((T_id "MBReqTypes"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "MemBarrierOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MemBarrierOp_DSB"), Unknown)), [])), (Unknown, (Some ((T_id "MemBarrierOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "DataSynchronizationBarrier"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "domain"), Unknown))), (Unknown, (Some ((T_id "MBReqDomain"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "types"), Unknown))), (Unknown, (Some ((T_id "MBReqTypes"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MemBarrierOp_DMB"), Unknown)), [])), (Unknown, (Some ((T_id "MemBarrierOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "DataMemoryBarrier"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "domain"), Unknown))), (Unknown, (Some ((T_id "MBReqDomain"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "types"), Unknown))), (Unknown, (Some ((T_id "MBReqTypes"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MemBarrierOp_ISB"), Unknown)), [])), (Unknown, (Some ((T_id "MemBarrierOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "InstructionSynchronizationBarrier"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_barr, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "System"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "sys_op0"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "sys_op1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "sys_op2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "sys_crn"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "sys_crm"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "has_result"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "has_result"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "SysOp_R"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "sys_op0"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_op1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_crn"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_crm"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "sys_op2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "SysOp_W"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "sys_op0"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_op1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_crn"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_crm"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_op2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "MoveSystemRegister"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "sys_op0"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "sys_op1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "sys_op2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "sys_crn"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "sys_crm"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "read"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "read"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "System_Get"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "sys_op0"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_op1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_crn"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_crm"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "sys_op2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "System_Put"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "sys_op0"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_op1"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_crn"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_crm"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "sys_op2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "ImplementationDefinedTestBeginEnd"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "isEnd"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "isEnd"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "info"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "test ends"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "info"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "test begins"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "ImplementationDefinedStopFetching"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "info"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "stop fetching instructions"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "ImplementationDefinedThreadStart"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "info"), Unknown)), [(E_aux( (E_lit (L_aux( (L_string "thread start"), Unknown))), (Unknown, (Some ((T_id "string"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "TestBitAndBranch"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "bit_pos"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "bit_val"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_vector_access( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "bit_pos"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "bit_val"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "BranchTo"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rPC"), Unknown)), [])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv591")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv592")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv591")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "BranchType_JMP"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "BranchImmediate"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "branch_type"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "branch_type"), Unknown))), (Unknown, (Some ((T_id "BranchType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "BranchType_CALL"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num thirty), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirty))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rPC"), Unknown)), [])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv641")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_lit (L_aux( (L_num four), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const four))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv641")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "BranchTo"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rPC"), Unknown)), [])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv663")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv664")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv663")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "branch_type"), Unknown))), (Unknown, (Some ((T_id "BranchType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "BranchRegister"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "branch_type"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum seven), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "target"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "branch_type"), Unknown))), (Unknown, (Some ((T_id "BranchType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "BranchType_CALL"), Unknown))), (Unknown, (Some ((T_id "BranchType"), (Tag_enum six), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num thirty), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirty))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rPC"), Unknown)), [])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv714")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_lit (L_aux( (L_num four), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const four))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv714")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "BranchTo"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "target"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "branch_type"), Unknown))), (Unknown, (Some ((T_id "BranchType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "ExceptionReturn"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "AArch64_ExceptionReturn"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "rELR'"), Unknown)), [])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "rSPSR"), Unknown)), [])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "DebugRestorePState"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "DRPSInstruction"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "LoadLiteral"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "_signed"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "address"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rPC"), Unknown)), [])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv742")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv743")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv742")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "data"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MemOp_LOAD"), Unknown)), [])), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "flush_read_buffer"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "rMem"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "empty_read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "AccType_NORMAL"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 11)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv767"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv767"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "_signed"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "SignExtend"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MemOp_PREFETCH"), Unknown)), [])), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "Prefetch"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num five), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const five))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "LoadStoreAcqExc"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "s"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 12)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "excl"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "pair"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "elsize"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "regsize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "address"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "data"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "dbytes"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "quot"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv781"))]))), (Tag_extern (Some "quot")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "rt_unknown"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "rn_unknown"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MemOp_LOAD"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "pair"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MemOp_STORE"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), (E_aux( (E_id (Id_aux( (Id "excl"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "s"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "pair"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "s"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "s"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "status"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MemOp_STORE"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), (E_aux( (E_id (Id_aux( (Id "excl"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "status"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "speculate_exclusive_success"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), (Tag_extern None), [], (Effect_aux( (Effect_set [(BE_aux( BE_exmem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_exmem, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_exmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_exmem, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "s"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_id (Id_aux( (Id "status"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const one); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_exmem, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_exmem, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "status"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1049")); (T_arg_nexp (Ne_var "'nv1048"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1049")); (T_arg_nexp (Ne_var "'nv1048"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1049")); (T_arg_nexp (Ne_var "'nv1048"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1049")); (T_arg_nexp (Ne_var "'nv1048"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1049")); (T_arg_nexp (Ne_var "'nv1048"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "CheckSPAlignment"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rSP"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "rn_unknown"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MemOp_STORE"), Unknown)), [])), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "wMem_Addr"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "excl"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "rt_unknown"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "pair"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_id (Id_aux( (Id "excl"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "el1"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "regsize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "el2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "el1"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "BigEndian"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "el1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1069")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "el2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1071")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_var "'R"); (Ne_var "'R")]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_var "'R")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "el2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1073")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "el1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1075")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_var "'R"); (Ne_var "'R")]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_var "'R")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "data"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "excl"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "status"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "AArch64_ExclusiveMonitorsPass"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "status"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "flush_write_buffer_exclusive"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "wMem_exclusive"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "empty_write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv1077"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv1077"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "bool"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "flush_write_buffer"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "wMem"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "empty_write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv1078"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv1078"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MemOp_LOAD"), Unknown)), [])), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "excl"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "AArch64_SetExclusiveMonitors"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "pair"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assert( (E_aux( (E_id (Id_aux( (Id "excl"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "None"), Unknown)), [])), (Unknown, (Some ((T_fn( (T_id "unit"), (T_app( "option", (T_args [(T_arg_typ (T_id "string"))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "rt_unknown"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "elsize"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "flush_read_buffer"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "rMem_exclusive"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "empty_read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv1093"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv1093"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "BigEndian"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv1105"), (Ne_var "'nv1106"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "elsize"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1099")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv1099"), (Ne_var "'nv1100"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv1099"), (Ne_var "'nv1100"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv1099"), (Ne_var "'nv1100"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "elsize"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv1139"), (Ne_var "'nv1140"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1135")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv1135"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv1135"), (Ne_const zero))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv1135"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "elsize"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv1173"), (Ne_var "'nv1174"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1169")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv1169"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv1169"), (Ne_const zero))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv1169"), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv1209"), (Ne_var "'nv1210"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "elsize"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1203")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv1203"), (Ne_var "'nv1204"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_var "'nv1203"), (Ne_var "'nv1204"))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv1203"), (Ne_var "'nv1204"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1236")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Align"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1238")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( - (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "iswrite"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "secondstage"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "AArch64_Abort"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "AArch64_AlignmentFault"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "iswrite"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "secondstage"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "FaultRecord"), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "read_buffer_type"), Unknown))), Unknown)), (Id_aux( (Id "read_buffer"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "read_buffer_type"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rMem_exclusive"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "empty_read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1252")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1252")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "read_buffer_type"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rMem_exclusive"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "read_buffer_type"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1283")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1283")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "value"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyseven), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant onetwentyeight), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "flush_read_buffer"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "read_buffer_type"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app_infix( (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv1307"), (Ne_var "'nv1308"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv1302"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv1302"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num sixtythree), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtythree))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const sixtythree), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_const sixtythree), (Ne_const zero))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const sixtythree), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_id (Id_aux( (Id "value"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num onetwentyseven), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const onetwentyseven))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "flush_read_buffer"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "rMem'"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "empty_read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "excl"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv1333"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv1333"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "regsize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_eamem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_eamem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_eamem, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_exmem, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_eamem, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_exmem, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "LoadStorePairNonTemp"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 12)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "scale"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "address"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "data1"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "data2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "dbytes"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "quot"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv1346"))]))), (Tag_extern (Some "quot")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "rt_unknown"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MemOp_LOAD"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "CheckSPAlignment"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rSP"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1421")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1422")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1421")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MemOp_STORE"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem_Addr"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv1460"), (Ne_var "'nv1461"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "address'"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1479")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1480")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1479")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_var "fresh_v"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wSP"), Unknown)), [(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address'"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address'"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MemOp_STORE"), Unknown)), [])), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "rt_unknown"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "rt_unknown"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "write_buffer_type"), Unknown))), Unknown)), (Id_aux( (Id "write_buffer"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "write_buffer_type"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "empty_write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1581")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1581")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv1569"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv1569"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "write_buffer_type"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "write_buffer_type"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1610")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1610")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv1600"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv1600"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "flush_write_buffer"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "write_buffer_type"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MemOp_LOAD"), Unknown)), [])), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "read_buffer_type"), Unknown))), Unknown)), (Id_aux( (Id "read_buffer"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "read_buffer_type"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rMem"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "empty_read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1641")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1641")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "read_buffer_type"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rMem"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "read_buffer_type"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1670")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1670")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant two), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant two), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "read_data"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'D"), (Ne_const two))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'D"), (Ne_const two)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "flush_read_buffer"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "read_buffer_type"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv1692"), (Ne_var "'nv1693"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv1689"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv1689"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'D"), (Ne_const two))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'D"), (Ne_const two)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "read_data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'D"), (Ne_const two))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'D"), (Ne_const two)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'D"), (Ne_const two))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'D"), (Ne_const two)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv1715"), (Ne_var "'nv1716"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1709")); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "read_data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'D"), (Ne_const two))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'D"), (Ne_const two)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'D"), (Ne_const two))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'D"), (Ne_const two)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv1798"), (Ne_var "'nv1799"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv1768"), (Ne_var "'nv1769"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv1744")); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "rt_unknown"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_wreg, Unknown)); (BE_aux( BE_eamem, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_wreg, Unknown)); (BE_aux( BE_eamem, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "LoadImmediate"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 12)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "_signed"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "regsize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "address"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "data"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "wb_unknown"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "rt_unknown"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MemOp_LOAD"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MemOp_STORE"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MemOp_PREFETCH"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "CheckSPAlignment"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rSP"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2303")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2304")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2303")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MemOp_STORE"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem_Addr"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "quot"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv2346"))]))), (Tag_extern (Some "quot")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "address'"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2360")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2361")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2360")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_var "fresh_v"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wSP"), Unknown)), [(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address'"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address'"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MemOp_STORE"), Unknown)), [])), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "rt_unknown"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "flush_write_buffer"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "wMem"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "empty_write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "quot"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv2408"))]))), (Tag_extern (Some "quot")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv2401"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv2401"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MemOp_LOAD"), Unknown)), [])), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "flush_read_buffer"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "rMem"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "empty_read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "quot"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv2440"))]))), (Tag_extern (Some "quot")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "quot"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv2424"))]))), (Tag_extern (Some "quot")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv2417"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv2417"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "_signed"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "SignExtend"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "regsize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "regsize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MemOp_PREFETCH"), Unknown)), [])), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "Prefetch"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num five), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const five))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_wreg, Unknown)); (BE_aux( BE_eamem, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_wreg, Unknown)); (BE_aux( BE_eamem, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "LoadRegister"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 12)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "_signed"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "extend_type"), Unknown))), (Unknown, (Some ((T_id "ExtendType"), (Tag_enum eight), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "regsize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "offset"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "ExtendReg"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "extend_type"), Unknown))), (Unknown, (Some ((T_id "ExtendType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "address"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "data"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "wb_unknown"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "rt_unknown"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MemOp_LOAD"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MemOp_STORE"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MemOp_PREFETCH"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "CheckSPAlignment"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rSP"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2946")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2947")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv2946")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MemOp_STORE"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem_Addr"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "quot"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv2989"))]))), (Tag_extern (Some "quot")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "address'"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3003")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3004")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv3003")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_var "fresh_v"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wSP"), Unknown)), [(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address'"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address'"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MemOp_STORE"), Unknown)), [])), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "rt_unknown"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "flush_write_buffer"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "wMem"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "empty_write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "quot"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv3051"))]))), (Tag_extern (Some "quot")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv3044"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv3044"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MemOp_LOAD"), Unknown)), [])), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "flush_read_buffer"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "rMem"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "empty_read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "quot"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv3083"))]))), (Tag_extern (Some "quot")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "quot"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv3067"))]))), (Tag_extern (Some "quot")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv3060"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv3060"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "_signed"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "SignExtend"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "regsize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ZeroExtend"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "regsize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MemOp_PREFETCH"), Unknown)), [])), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "Prefetch"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num five), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const five))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const four)); (T_arg_nexp (Ne_const five)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_wreg, Unknown)); (BE_aux( BE_eamem, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_wreg, Unknown)); (BE_aux( BE_eamem, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "LoadStorePair"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), (Tag_enum(Nat_big_num.of_int 12)), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "_signed"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "address"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "data1"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "data2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "dbytes"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "quot"), Unknown)), (E_aux( (E_lit (L_aux( (L_num eight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const eight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv3106"))]))), (Tag_extern (Some "quot")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "rt_unknown"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "boolean"), Unknown))), Unknown)), (Id_aux( (Id "wb_unknown"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MemOp_LOAD"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MemOp_STORE"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_or_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "!="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "neq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MemOp_LOAD"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_app( (Id_aux( (Id "CheckSPAlignment"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rSP"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4197")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4198")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4197")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MemOp_STORE"), Unknown))), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem_Addr"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv4236"), (Ne_var "'nv4237"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_false, Unknown))), (Unknown, (Some ((T_id "bool"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_eamem, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "wback"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_id (Id_aux( (Id "address'"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "postindex"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4255")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "offset"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4256")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4255")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_var "fresh_v"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wSP"), Unknown)), [(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address'"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address'"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "memop"), Unknown))), (Unknown, (Some ((T_id "MemOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MemOp_STORE"), Unknown)), [])), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "rt_unknown"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "rt_unknown"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "write_buffer_type"), Unknown))), Unknown)), (Id_aux( (Id "write_buffer"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "write_buffer_type"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "empty_write_buffer"), Unknown))), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4357")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4357")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv4345"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv4345"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "write_buffer_type"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "wMem"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "write_buffer_type"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4386")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4386")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv4376"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv4376"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "write_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_app( (Id_aux( (Id "flush_write_buffer"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "write_buffer"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "write_buffer_type"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_wmv, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "MemOp_LOAD"), Unknown)), [])), (Unknown, (Some ((T_id "MemOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "read_buffer_type"), Unknown))), Unknown)), (Id_aux( (Id "read_buffer"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "read_buffer_type"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rMem"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "empty_read_buffer"), Unknown))), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4417")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4417")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "read_buffer_type"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rMem"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "read_buffer_type"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "address"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4446")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4446")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "acctype"), Unknown))), (Unknown, (Some ((T_id "AccType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "read_buffer_type"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant two), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant two), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "read_data"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'D"), (Ne_const two))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'D"), (Ne_const two)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "flush_read_buffer"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "read_buffer"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "read_buffer_type"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "dbytes"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv4468"), (Ne_var "'nv4469"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'nv4465"), (Ne_const eight))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'nv4465"), (Ne_const eight)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'D"), (Ne_const two))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'D"), (Ne_const two)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rmem, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "read_data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'D"), (Ne_const two))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'D"), (Ne_const two)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'D"), (Ne_const two))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'D"), (Ne_const two)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv4491"), (Ne_var "'nv4492"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4485")); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "read_data"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'D"), (Ne_const two))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'D"), (Ne_const two)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_var "'D"), (Ne_const two))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_var "'D"), (Ne_const two)))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv4574"), (Ne_var "'nv4575"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv4544"), (Ne_var "'nv4545"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4520")); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "rt_unknown"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_id "boolean"), (T_id "bit"))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "data2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "UNKNOWN"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv1")); (T_arg_nexp (Ne_var "'nv0"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "_signed"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "SignExtend"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "SignExtend"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "t2"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "data2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_escape, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_wreg, Unknown)); (BE_aux( BE_eamem, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rmem, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_wreg, Unknown)); (BE_aux( BE_eamem, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "AddSubImmediate"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand1"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rSP"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "carry_in"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "NOT"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "carry_in"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "carry_in"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "nzcv"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_app( (Id_aux( (Id "AddWithCarry"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "carry_in"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "0v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "1v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_tuple [(E_aux( (E_id (Id_aux( (Id "0v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "1v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wPSTATE_NZCV"), Unknown)), [(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "nzcv"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wSP"), Unknown)), [(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "BitfieldMove"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "inzero"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "extend"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "R"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "S"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "wmask"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "tmask"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "dst"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "inzero"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Zeros"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "src"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "bot"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "dst"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4669")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "NOT"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "wmask"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4669")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4669")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_and")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4662")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ROR"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "src"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "R"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4665")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "wmask"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4665")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4665")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_and")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4662")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4662")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_or")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "top"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "extend"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Replicate"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "bot"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_vector_access( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "src"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "S"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const one); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "dst"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "top"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4689")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "NOT"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "tmask"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4689")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4689")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_and")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4684")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "bot"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4686")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "tmask"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4686")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4686")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_and")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4684")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4684")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_or")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "ExtractRegister"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "lsb"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand1"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_constant two), Unknown)), (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_times( (Nexp_aux( (Nexp_constant two), Unknown)), (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "concat"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_const two), (Ne_var "'R"))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_const two), (Ne_var "'R")))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4697")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4699")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_var "'R"); (Ne_var "'R")]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_var "'R")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_const two), (Ne_var "'R"))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_const two), (Ne_var "'R")))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "concat"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_const two), (Ne_var "'R"))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_const two), (Ne_var "'R")))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_mult( (Ne_const two), (Ne_var "'R"))); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_mult( (Ne_const two), (Ne_var "'R")))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "lsb"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv4767"); (Ne_var "'nv4768")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv4739"), (Ne_var "'nv4740"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "lsb"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4703")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "LogicalImmediate"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "LogicalOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand1"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "LogicalOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "LogicalOp_AND"), Unknown)), [])), (Unknown, (Some ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4799")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4799")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4799")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_and")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "LogicalOp_ORR"), Unknown)), [])), (Unknown, (Some ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4801")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4801")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4801")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_or")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "LogicalOp_EOR"), Unknown)), [])), (Unknown, (Some ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4803")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "^"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4803")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4803")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_xor")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wPSTATE_NZCV"), Unknown)), [(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_vector_access( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( - (E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4844")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv4818"), (Ne_var "'nv4819"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4806")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_app( (Id_aux( (Id "IsZeroBit"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4847")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4849")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const one); (Ne_const two)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_const two)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4808")); (T_arg_nexp (Ne_var "'nv4807")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const one); (Ne_var "'nv4807")]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_var "'nv4807")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wSP"), Unknown)), [(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "MoveWide"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "pos"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "opcode"), Unknown))), (Unknown, (Some ((T_id "MoveWideOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "opcode"), Unknown))), (Unknown, (Some ((T_id "MoveWideOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MoveWideOp_K"), Unknown))), (Unknown, (Some ((T_id "MoveWideOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Zeros"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_vector_range( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "pos"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_lit (L_aux( (L_num fifteen), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const fifteen))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv4904"); (Ne_var "'nv4905")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "pos"), Unknown))), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4901")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv4901"), (Ne_var "'nv4900"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const fifteen)); (T_arg_nexp (Ne_const sixteen)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4901")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv4901"), (Ne_var "'nv4900"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "opcode"), Unknown))), (Unknown, (Some ((T_id "MoveWideOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "MoveWideOp_N"), Unknown))), (Unknown, (Some ((T_id "MoveWideOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "NOT"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "Address"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "page"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtythree), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant sixtyfour), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "base"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rPC"), Unknown)), [])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "page"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_vector_range( (LEXP_aux( (LEXP_id (Id_aux( (Id "base"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num(Nat_big_num.of_int 11)), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 11)))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 11))); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const(Nat_big_num.of_int 11)), (Ne_const zero))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "Zeros"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num(Nat_big_num.of_int 12)), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const(Nat_big_num.of_int 12)))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const(Nat_big_num.of_int 12)); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const(Nat_big_num.of_int 12))); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "base"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4956")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4957")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv4956")); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "AddSubExtendRegister"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "extend_type"), Unknown))), (Unknown, (Some ((T_id "ExtendType"), (Tag_enum eight), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const seven))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand1"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rSP"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ExtendReg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "extend_type"), Unknown))), (Unknown, (Some ((T_id "ExtendType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "shift"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const seven))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "carry_in"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "NOT"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "carry_in"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "carry_in"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "nzcv"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_app( (Id_aux( (Id "AddWithCarry"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "carry_in"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "2v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "3v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_tuple [(E_aux( (E_id (Id_aux( (Id "2v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "3v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wPSTATE_NZCV"), Unknown)), [(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "nzcv"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num thirtyone), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtyone))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_and_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wSP"), Unknown)), [(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "AddSubShiftedRegister"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "shift_type"), Unknown))), (Unknown, (Some ((T_id "ShiftType"), (Tag_enum four), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "shift_amount"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const sixtythree))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand1"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ShiftReg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "shift_type"), Unknown))), (Unknown, (Some ((T_id "ShiftType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "shift_amount"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const sixtythree))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "carry_in"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "NOT"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "carry_in"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "carry_in"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "nzcv"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_app( (Id_aux( (Id "AddWithCarry"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "carry_in"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "4v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "5v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_tuple [(E_aux( (E_id (Id_aux( (Id "4v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "5v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wPSTATE_NZCV"), Unknown)), [(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "nzcv"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "AddSubCarry"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand1"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "NOT"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "nzcv"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_app( (Id_aux( (Id "AddWithCarry"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "PSTATE_C"), Unknown))), (Unknown, (Some ((T_id "bit"), Tag_alias, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "6v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "7v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_tuple [(E_aux( (E_id (Id_aux( (Id "6v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "7v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wPSTATE_NZCV"), Unknown)), [(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "nzcv"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "ConditionalCompareImmediate"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "condition"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "flags"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand1"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "imm"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "carry_in"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "flags'"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "flags"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "ConditionHolds"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "condition"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "NOT"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "carry_in"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_tup [(P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "nzcv"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_app( (Id_aux( (Id "AddWithCarry"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "carry_in"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "8v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "9v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_tuple [(E_aux( (E_id (Id_aux( (Id "8v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "9v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "flags'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "nzcv"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wPSTATE_NZCV"), Unknown)), [(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "flags'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "ConditionalCompareRegister"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "condition"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "flags"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand1"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown)), (Id_aux( (Id "carry_in"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "flags'"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "flags"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "ConditionHolds"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "condition"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "NOT"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "carry_in"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_let( (LB_aux( (LB_val_implicit( (P_aux( (P_tup [(P_aux( P_wild, (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "nzcv"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_case( (E_aux( (E_app( (Id_aux( (Id "AddWithCarry"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "carry_in"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_tup [(P_aux( (P_id (Id_aux( (Id "10v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "11v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_tuple [(E_aux( (E_id (Id_aux( (Id "10v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "11v"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_tup [(T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))); (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))])))]), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "flags'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "nzcv"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wPSTATE_NZCV"), Unknown)), [(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "flags'"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "ConditionalSelect"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "condition"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "else_inv"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "else_inc"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand1"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "ConditionHolds"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "condition"), Unknown))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "else_inv"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "NOT"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "else_inc"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5077")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5077")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "add_vec_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "Reverse"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "RevOp"), (Tag_enum four), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant five), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant six), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "V"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num six), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const six))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "RevOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "RevOp_REV16"), Unknown)), [])), (Unknown, (Some ((T_id "RevOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "V"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "RevOp_REV32"), Unknown)), [])), (Unknown, (Some ((T_id "RevOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "V"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "RevOp_REV64"), Unknown)), [])), (Unknown, (Some ((T_id "RevOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "V"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "RevOp_RBIT"), Unknown)), [])), (Unknown, (Some ((T_id "RevOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "V"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq_range")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_for( (Id_aux( (Id "vbit"), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num five), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const five))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Ord_aux( Ord_inc, Unknown)), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_case( - (E_aux( (E_vector_access( (E_aux( (E_id (Id_aux( (Id "V"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const five)); (T_arg_nexp (Ne_const six)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "vbit"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const five))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5135")); (T_arg_nexp (Ne_var "'nv5134"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5135")); (T_arg_nexp (Ne_var "'nv5134"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5135")); (T_arg_nexp (Ne_var "'nv5134"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5135")); (T_arg_nexp (Ne_var "'nv5134"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_var "'nv5135")); (T_arg_nexp (Ne_var "'nv5134"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "tmp"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "vsize"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "lsl"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "vbit"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const five))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv5139"), (Ne_exp (Ne_var "'nv5140")))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_for( (Id_aux( (Id "base"), Unknown)), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv5148"), (Ne_var "'nv5149"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_id (Id_aux( (Id "vsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv5176"), (Ne_var "'nv5177"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Ord_aux( Ord_inc, Unknown)), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( - (LEXP_vector_range( - (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "base"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv5142"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_id (Id_aux( (Id "vsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5250"); (Ne_var "'nv5251")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv5224"), (Ne_var "'nv5225"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "base"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv5142"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5191")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv5191"), (Ne_var "'nv5190"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "tmp"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "base"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv5142"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_id (Id_aux( (Id "vsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv5424"), (Ne_var "'nv5425"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5394"); (Ne_var "'nv5395")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv5350"), (Ne_var "'nv5351"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "base"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv5142"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_id (Id_aux( (Id "vsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5438"); (Ne_var "'nv5439")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5282")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv5191"), (Ne_var "'nv5190"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5191")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv5191"), (Ne_var "'nv5190"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_vector_range( - (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "base"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv5142"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_lit (L_aux( (L_num two), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const two))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), (E_aux( (E_id (Id_aux( (Id "vsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv5608"), (Ne_var "'nv5609"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5578"); (Ne_var "'nv5579")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv5534"), (Ne_var "'nv5535"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "base"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv5142"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_id (Id_aux( (Id "vsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5622"); (Ne_var "'nv5623")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5467")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv5467"), (Ne_var "'nv5466"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "tmp"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "base"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv5142"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), (E_aux( (E_id (Id_aux( (Id "vsize"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5714"); (Ne_var "'nv5715")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv5688"), (Ne_var "'nv5689"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_id (Id_aux( (Id "base"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'nv5142"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5654")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv5467"), (Ne_var "'nv5466"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5467")); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_var "'nv5467"), (Ne_var "'nv5466"))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))) ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))) ), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "CountLeading"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "opcode"), Unknown))), (Unknown, (Some ((T_id "CountOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "uinteger"), Unknown))), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand1"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "opcode"), Unknown))), (Unknown, (Some ((T_id "CountOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "=="), Unknown)), (E_aux( (E_id (Id_aux( (Id "CountOp_CLZ"), Unknown))), (Unknown, (Some ((T_id "CountOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "eq")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "CountLeadingZeroBits"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'R"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "CountLeadingSignBits"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_var "'R"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "uinteger"), (T_id "nat"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "Division"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand1"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "integer"), Unknown))), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "IsZero"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "Int"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "quot"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Int"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv5769"))]))), (Tag_extern (Some "quot")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "Shift"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "shift_type"), Unknown))), (Unknown, (Some ((T_id "ShiftType"), (Tag_enum four), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ShiftReg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "shift_type"), Unknown))), (Unknown, (Some ((T_id "ShiftType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv5799"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "mod"), Unknown)), (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_minus( (Ne_var "'nv5792"), (Ne_const one))))]))), (Tag_extern (Some "modulo")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "CRC"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "crc32c"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_if( (E_aux( (E_app( (Id_aux( (Id "~"), Unknown)), [ - (E_aux( (E_app( (Id_aux( (Id "HaveCRCExt"), Unknown)), [])), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), (Tag_extern (Some "bitwise_not_bit")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "UnallocatedEncoding"), Unknown)), [])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_escape, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtyone), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtytwo), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "acc"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "_val"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "size"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtyone), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant thirtytwo), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "poly"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "crc32c"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_one, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_constant thirtytwo), Unknown)), (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_constant thirtytwo), Unknown)), (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "tempacc"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_const thirtytwo); (Ne_var "'D")]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_var "'D")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "BitReverse"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "acc"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5808")); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Zeros"), Unknown)), [(E_aux( (E_app( (Id_aux( (Id "length"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "_val"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), (Tag_extern (Some "length")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const thirtytwo); (Ne_var "'D")]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_var "'D")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_const thirtytwo); (Ne_var "'D")]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_var "'D")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant thirtytwo), Unknown)))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant thirtytwo), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "tempval"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'D"); (Ne_const thirtytwo)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const thirtytwo)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "BitReverse"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "_val"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5814")); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "Zeros"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num thirtytwo), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const thirtytwo))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_var "'D"); (Ne_const thirtytwo)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const thirtytwo)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'D"); (Ne_const thirtytwo)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const thirtytwo)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "BitReverse"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Poly32Mod2"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "tempacc"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_const thirtytwo); (Ne_var "'D")]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_var "'D")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5822")); (T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_var "'D")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "^"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "tempval"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_var "'D"); (Ne_const thirtytwo)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const thirtytwo)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5822")); (T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_var "'D")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv5822")); (T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_var "'D")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_xor")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_const thirtytwo); (Ne_var "'D")]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_var "'D")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "poly"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const thirtyone)); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const thirtytwo); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const thirtytwo)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rreg, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "MultiplyAddSub"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "a"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "destsize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand1"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand3"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "destsize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "a"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "integer"), Unknown))), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand3"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv5914"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv5912"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv5910"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv5895"), (Ne_var "'nv5896"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv5861"), (Ne_var "'nv5862"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand3"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv6002"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv6000"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "UInt"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'nv5998"))]))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv5983"), (Ne_var "'nv5984"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv5947"); (Ne_var "'nv5948")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "destsize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "MultiplyAddSubLong"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "a"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "destsize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand1"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand3"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "destsize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "a"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "integer"), Unknown))), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "sub_op"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "Int"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand3"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "Int"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Int"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv6058"), (Ne_var "'nv6059"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv6030"), (Ne_var "'nv6031"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "Int"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand3"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "+"), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "Int"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Int"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'D"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'D")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv6126"), (Ne_var "'nv6127"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'nv6096"); (Ne_var "'nv6097")]))]))), (Tag_extern (Some "add")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const sixtythree)); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_const sixtyfour); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_const sixtyfour)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "MultiplyHigh"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "a"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "destsize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand1"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "destsize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "destsize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_id (Id_aux( (Id "integer"), Unknown))), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_app( (Id_aux( (Id "Int"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "*"), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "Int"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "_unsigned"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_mult( (Ne_var "'nv6150"), (Ne_var "'nv6151"))))]))), (Tag_extern (Some "multiply")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_subrange( (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [ - (E_aux( (E_lit (L_aux( (L_num onetwentyeight), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const onetwentyeight))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_abbrev( (T_abbrev( (T_id "integer"), (T_id "int"))), (T_app( "range", (T_args [(T_arg_nexp (Ne_unary Ne_inf)); (T_arg_nexp Ne_inf)]))))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_const onetwentyeight)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num onetwentyseven), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const onetwentyseven))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (E_aux( (E_lit (L_aux( (L_num sixtyfour), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const sixtyfour))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const onetwentyseven)); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)]); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_add [(Ne_minus( (Ne_const onetwentyseven), (Ne_const sixtyfour))); (Ne_const one)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;(FCL_aux( (FCL_Funcl( (Id_aux( (Id "execute"), Unknown)), (P_aux( (P_app( (Id_aux( (Id "LogicalShiftedRegister"), Unknown)), [(P_aux( (P_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "LogicalOp"), (Tag_enum three), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "shift_type"), Unknown))), (Unknown, (Some ((T_id "ShiftType"), (Tag_enum four), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "shift_amount"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const sixtythree))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); (P_aux( (P_id (Id_aux( (Id "invert"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand1"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "rX"), Unknown)), [ - (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "n"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "operand2"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "ShiftReg"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "m"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_id (Id_aux( (Id "shift_type"), Unknown))), (Unknown, (Some ((T_id "ShiftType"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_id (Id_aux( (Id "shift_amount"), Unknown))), (Unknown, (Some ((T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const sixtythree))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "invert"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "NOT"), Unknown)), [(E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_sum( (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown)), (Nexp_aux( (Nexp_constant ( Nat_big_num.sub zero(Nat_big_num.of_int 1))), Unknown)))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), (Id_aux( (Id "result"), Unknown)))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app( (Id_aux( (Id "to_vec_dec"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( (L_num zero), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const zero))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "to_vec_dec")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_intro, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))); - (E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "op"), Unknown))), (Unknown, (Some ((T_id "LogicalOp"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "LogicalOp_AND"), Unknown)), [])), (Unknown, (Some ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv6177")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "&"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv6177")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv6177")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_and")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "LogicalOp_ORR"), Unknown)), [])), (Unknown, (Some ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv6179")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "|"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv6179")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv6179")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_or")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))) ; - (Pat_aux( (Pat_exp( (P_aux( (P_app( (Id_aux( (Id "LogicalOp_EOR"), Unknown)), [])), (Unknown, (Some ((T_id "LogicalOp"), (Tag_enum two), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_app_infix( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand1"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv6181")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "^"), Unknown)), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "operand2"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv6181")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv6181")); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), (Tag_extern (Some "bitwise_xor")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_set, [], (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_lset, Unknown)) ]), Unknown))))))); - (E_aux( (E_if( (E_aux( (E_id (Id_aux( (Id "setflags"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "boolean"), (T_id "bit"))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wPSTATE_NZCV"), Unknown)), [(E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_app( (Id_aux( (Id "vector"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant three), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_constant four), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_order (Ord_aux( Ord_dec, Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_id (Id_aux( (Id "bit"), Unknown))), Unknown))), Unknown))])), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_vector_access( - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app_infix( (E_aux( (E_id (Id_aux( (Id "datasize"), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_var "'R"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), (Id_aux( (Id "-"), Unknown)), (E_aux( (E_lit (L_aux( (L_num one), Unknown))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_const one))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "atom", (T_args [(T_arg_nexp (Ne_minus( (Ne_var "'nv6194"), (Ne_var "'nv6195"))))]))), (Tag_extern (Some "minus")), [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv6184")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector_append( (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_app( (Id_aux( (Id "IsZeroBit"), Unknown)), [ - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "bit"), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv6221")); (T_arg_nexp (Ne_const one)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), - (E_aux( (E_vector [(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))));(E_aux( (E_lit (L_aux( L_zero, Unknown))), (Unknown, (Some ((T_id "bit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))]), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const one)); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv6223")); (T_arg_nexp (Ne_const two)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const one); (Ne_const two)]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_const two)])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_var "'nv6186")); (T_arg_nexp (Ne_var "'nv6185")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_minus( (Ne_add [(Ne_const one); (Ne_var "'nv6185")]), (Ne_const one)))); (T_arg_nexp (Ne_add [(Ne_const one); (Ne_var "'nv6185")])); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_const three)); (T_arg_nexp (Ne_const four)); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_lit (L_aux( L_unit, Unknown))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))); - (E_aux( (E_assign( (LEXP_aux( (LEXP_memory( (Id_aux( (Id "wX"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "d"), Unknown))), (Unknown, (Some ((T_abbrev( (T_id "reg_index"), (T_app( "range", (T_args [(T_arg_nexp (Ne_const zero)); (T_arg_nexp (Ne_const thirtyone))]))))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown))))))), - (E_aux( (E_cast( (Typ_aux( (Typ_var (Kid_aux( (Var "length"), Unknown))), Unknown)), (E_aux( (E_id (Id_aux( (Id "result"), Unknown))), (Unknown, (Some ((T_app( "reg", (T_args [(T_arg_typ (T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "vector", (T_args [(T_arg_nexp (Ne_add [(Ne_var "'R"); (Ne_const ( Nat_big_num.sub zero(Nat_big_num.of_int 1)))])); (T_arg_nexp (Ne_var "'R")); (T_arg_order (Ord_aux( Ord_dec, Unknown))); (T_arg_typ (T_id "bit"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)))))))] ), (Unknown, (Some ((T_id "unit"), Tag_spec, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown))))))))), (Unknown,(Some ((T_id "unit"), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_wreg, Unknown)); (BE_aux( BE_lset, Unknown)); (BE_aux( BE_rreg, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (T_id "unit"), (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_barr, Unknown)); (BE_aux( BE_eamem, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_exmem, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [(BE_aux( BE_rreg, Unknown)); (BE_aux( BE_wreg, Unknown)); (BE_aux( BE_rmem, Unknown)); (BE_aux( BE_barr, Unknown)); (BE_aux( BE_eamem, Unknown)); (BE_aux( BE_wmv, Unknown)); (BE_aux( BE_exmem, Unknown)); (BE_aux( BE_escape, Unknown)) ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_spec (VS_aux( (VS_val_spec( (TypSchm_aux( (TypSchm_ts( (TypQ_aux( (TypQ_tq [(QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'R"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'R"), Unknown)), [Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown)); (QI_aux( (QI_id (KOpt_aux( (KOpt_kind( (K_aux( (K_kind [(BK_aux( BK_nat, Unknown))]), Unknown)), (Kid_aux( (Var "'D"), Unknown)))), Unknown))), Unknown)); (QI_aux( (QI_const (NC_aux( (NC_nat_set_bounded( (Kid_aux( (Var "'D"), Unknown)), [Nat_big_num.of_int 8;Nat_big_num.of_int 16;Nat_big_num.of_int 32;Nat_big_num.of_int 64])), Unknown))), Unknown))]), Unknown)), (Typ_aux( (Typ_fn( (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))), Unknown)))), Unknown)), (Id_aux( (Id "supported_instructions"), Unknown)))), - (Unknown, (Some ((T_fn( (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_spec, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -(DEF_fundef (FD_aux( (FD_function( (Rec_aux( Rec_nonrec, Unknown)), (Typ_annot_opt_aux( (Typ_annot_opt_some( (TypQ_aux( TypQ_no_forall, Unknown)), (Typ_aux( (Typ_app( (Id_aux( (Id "option"), Unknown)), [(Typ_arg_aux( (Typ_arg_typ (Typ_aux( (Typ_app( (Id_aux( (Id "ast"), Unknown)), [(Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'R"), Unknown))), Unknown))), Unknown)); (Typ_arg_aux( (Typ_arg_nexp (Nexp_aux( (Nexp_var (Kid_aux( (Var "'D"), Unknown))), Unknown))), Unknown))])), Unknown))), Unknown))])), Unknown)))), Unknown)), (Effect_opt_aux( Effect_opt_pure, Unknown)), [ - (FCL_aux( (FCL_Funcl( (Id_aux( (Id "supported_instructions"), Unknown)), (P_aux( (P_id (Id_aux( (Id "instr"), Unknown))), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_block [(E_aux( (E_case( (E_aux( (E_id (Id_aux( (Id "instr"), Unknown))), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), [ - (Pat_aux( (Pat_exp( (P_aux( P_wild, (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))), - (E_aux( (E_app( (Id_aux( (Id "Some"), Unknown)), [(E_aux( (E_id (Id_aux( (Id "instr"), Unknown))), (Unknown, (Some ((T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_ctor, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))])), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))] ), (Unknown, (Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_empty, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))))), (Unknown,(Some ((T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown))))))) - ;])), (Unknown, (Some ((T_fn( (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))), (T_app( "option", (T_args [(T_arg_typ (T_app( "ast", (T_args [(T_arg_nexp (Ne_var "'R")); (T_arg_nexp (Ne_var "'D"))]))))]))), (Effect_aux( (Effect_set [ ]), Unknown)))), Tag_global, [], (Effect_aux( (Effect_set [ ]), Unknown)), (Effect_aux( (Effect_set [ ]), Unknown)))))))); -]) diff --git a/aarch64_small/armV8_A64_lib.sail b/aarch64_small/armV8_A64_lib.sail index cc405fb3..9daa94a6 100644 --- a/aarch64_small/armV8_A64_lib.sail +++ b/aarch64_small/armV8_A64_lib.sail @@ -34,14 +34,14 @@ /** FUNCTION:aarch64/exceptions/aborts/AArch64.Abort */ -val AArch64_Abort : (bits(64), FaultRecord) -> unit +val AArch64_Abort : (bits(64), FaultRecord) -> unit effect {escape} function AArch64_Abort(vaddress, fault) = { not_implemented("AArch64_Abort"); } /** FUNCTION:AArch64.SPAlignmentFault() */ -val AArch64_SPAlignmentFault : unit -> unit effect pure +val AArch64_SPAlignmentFault : unit -> unit effect {escape} function AArch64_SPAlignmentFault() = { not_implemented("AArch64_SPAlignmentFault"); } @@ -54,15 +54,15 @@ function AArch64_SoftwareBreakpoint(immediate : bits(16)) -> unit = { /** FUNCTION:aarch64/exceptions/exceptions/AArch64.TakeReset */ -val AArch64_TakeReset : boolean -> unit effect {wreg} +val AArch64_TakeReset : boolean -> unit effect {wreg,rreg,escape} function AArch64_TakeReset(cold_reset) = { - assert((~(HighestELUsingAArch32())), None); + assert(~(HighestELUsingAArch32())); /* Enter the highest implemented Exception level in AArch64 state */ - PSTATE_nRW = 0; + PSTATE_nRW = 0b0; if HaveEL(EL3) then { PSTATE_EL = EL3; - SCR_EL3.NS = 0; /* Secure state */ + SCR_EL3->NS() = 0b0; /* Secure state */ } else if HaveEL(EL2) then PSTATE_EL = EL2 else @@ -86,7 +86,7 @@ function AArch64_TakeReset(cold_reset) = { AArch64_ResetSpecialRegisters(); ResetExternalDebugRegisters(cold_reset); - rv : bits(64) = 0; /* ARM: uninitialized */ /* IMPLEMENTATION DEFINED reset vector */ + rv : bits(64) = Zeros(); /* ARM: uninitialized */ /* IMPLEMENTATION DEFINED reset vector */ if HaveEL(EL3) then rv = RVBAR_EL3 else if HaveEL(EL2) then @@ -95,37 +95,37 @@ function AArch64_TakeReset(cold_reset) = { rv = RVBAR_EL1; /* The reset vector must be correctly aligned */ - assert((IsZero(rv[63..(PAMax())]) & IsZero(rv[1..0])), Some("reset vector not correctly aligned")); + assert((IsZero(rv[63..(PAMax())]) & IsZero(rv[1..0])), "reset vector not correctly aligned"); BranchTo(rv, BranchType_UNKNOWN); } /** FUNCTION:aarch64/exceptions/syscalls/AArch64.CallHypervisor */ -val AArch64_CallHypervisor : immediate -> unit +val AArch64_CallHypervisor : bits(16) -> unit effect {escape} function AArch64_CallHypervisor (immediate) = { not_implemented("AArch64_CallHypervisor"); } /** FUNCTION:aarch64/exceptions/syscalls/AArch64.CallSecureMonitor */ -val AArch64_CallSecureMonitor : bits(16) -> unit +val AArch64_CallSecureMonitor : bits(16) -> unit effect {escape} function AArch64_CallSecureMonitor(immediate) = { not_implemented("AArch64_CallSecureMonitor"); } /** FUNCTION:aarch64/exceptions/syscalls/AArch64.CallSupervisor */ -val AArch64_CallSupervisor : bits(16) -> unit +val AArch64_CallSupervisor : bits(16) -> unit effect {escape} function AArch64_CallSupervisor(immediate) = { not_implemented("AArch64_CallSupervisor"); } /** FUNCTION:aarch64/exceptions/traps/AArch64.CheckForSMCTrap */ -val AArch64_CheckForSMCTrap : bits(16) -> unit +val AArch64_CheckForSMCTrap : bits(16) -> unit effect {escape, rreg} function AArch64_CheckForSMCTrap(imm) = { - route_to_el2 : boolean = (HaveEL(EL2) & ~(IsSecure()) & (PSTATE_EL == EL0 | PSTATE_EL == EL1) & HCR_EL2.TSC == 1); + route_to_el2 : boolean = (HaveEL(EL2) & ~(IsSecure()) & (PSTATE_EL() == EL0 | PSTATE_EL() == EL1) & HCR_EL2.TSC() == 0b1); if route_to_el2 then { not_implemented("AArch64_CheckForSMCTrap route_to_el2"); /* ARM: @@ -140,16 +140,16 @@ function AArch64_CheckForSMCTrap(imm) = { /** FUNCTION:aarch64/exceptions/traps/AArch64.CheckForWFxTrap */ -val AArch64_CheckForWFxTrap : (bits(2), boolean) -> unit effect{rreg} +val AArch64_CheckForWFxTrap : (bits(2), boolean) -> unit effect{escape,rreg} function AArch64_CheckForWFxTrap(target_el, is_wfe) = { - assert((HaveEL(target_el)), None); + assert(HaveEL(target_el)); trap : boolean = false; /* ARM: uninitialized */ - if target_el == EL1 then trap = ((if is_wfe then SCTLR_EL1.nTWE else SCTLR_EL1.nTWI) == 0) - else if target_el == EL2 then trap = ((if is_wfe then HCR_EL2.TWE else HCR_EL2.TWI) == 1) - else if target_el == EL3 then trap = ((if is_wfe then SCR_EL3.TWE else SCR_EL3.TWI) == 1) - else {assert(false,None); ()}; + if target_el == EL1 then trap = ((if is_wfe then SCTLR_EL1.nTWE() else SCTLR_EL1.nTWI()) == 0b0) + else if target_el == EL2 then trap = ((if is_wfe then HCR_EL2.TWE() else HCR_EL2.TWI()) == 0b1) + else if target_el == EL3 then trap = ((if is_wfe then SCR_EL3.TWE() else SCR_EL3.TWI()) == 0b1) + else {assert(false); ()}; if trap then @@ -181,20 +181,18 @@ function AArch64_WFxTrap(target_el : bits(2), is_wfe : boolean) -> unit = { function AArch64_CreateFaultRecord( faulttype : Fault, ipaddress : bits(48), level : uinteger, acctype : AccType, write : boolean, extflag : bit, secondstage : boolean, s2fs1walk : boolean) -> FaultRecord = { - fault : FaultRecord = { - faulttype = faulttype; - domain = UNKNOWN : bits(4); - debugmoe = UNKNOWN : bits(4); - ipaddress = ipaddress; - level = level; - acctype = acctype; - write = write; - extflag = extflag; - secondstage = secondstage; - s2fs1walk = s2fs1walk; + struct { + faulttype = faulttype, + domain = UNKNOWN_VEC() : bits(4), + debugmoe = UNKNOWN_VEC() : bits(4), + ipaddress = ipaddress, + level = level, + acctype = acctype, + write = write, + extflag = extflag, + secondstage = secondstage, + s2fs1walk = s2fs1walk }; - - fault; } /** FUNCTION:aarch64/functions/exclusive/AArch64.ExclusiveMonitorsPass */ @@ -278,9 +276,9 @@ function AArch64_SetExclusiveMonitors(address : bits(64), size : uinteger) -> un function AArch64_CheckAlignment(address : bits(64), size : uinteger, acctype : AccType, iswrite : boolean) -> boolean = { aligned : boolean = (address == Align(address, size)); - A : bit = (SCTLR'()).A; + let [A] = SCTLR'().A(); - if ~(aligned) & (acctype == AccType_ATOMIC | acctype == AccType_ORDERED | A == 1) then { + if ~(aligned) & (acctype == AccType_ATOMIC | acctype == AccType_ORDERED | A == bitone) then { secondstage = false; AArch64_Abort(address, AArch64_AlignmentFault(acctype, iswrite, secondstage)); }; @@ -290,13 +288,13 @@ function AArch64_CheckAlignment(address : bits(64), size : uinteger, /** FUNCTION:// AArch64.MemSingle[] - non-assignment (read) form */ -val AArch64_rMemSingle : forall 'N, 'N in {1,2,4,8,16}. (read_buffer_type, bits(64), atom('N), AccType, boolean, bool) -> read_buffer_type effect {rmem} +val AArch64_rMemSingle : forall 'N, 'N in {1,2,4,8,16}. (read_buffer_type, bits(64), atom('N), AccType, boolean, bool) -> read_buffer_type effect {escape} function AArch64_rMemSingle (read_buffer, address, size, acctype, wasaligned, exclusive) = { /*assert size IN {1, 2, 4, 8, 16};*/ - assert((address == Align(address, size)), None); + assert(address == Align(address, size)); /* ARM: AddressDescriptor memaddrdesc; */ - value : bits('N*8) = 0; + value : bits('N*8) = Zeros(); iswrite : boolean = false; /* MMU or MPU */ @@ -312,10 +310,10 @@ function AArch64_rMemSingle (read_buffer, address, size, acctype, wasaligned, ex /** FUNCTION:// AArch64.MemSingle[] - assignment (write) form */ -val AArch64_wMemSingle : forall 'N, 'N in {1,2,4,8,16}. (write_buffer_type, bits(64), atom('N), AccType, boolean, bool, bits('N*8)) -> write_buffer_type effect pure +val AArch64_wMemSingle : forall 'N, 'N in {1,2,4,8,16}. (write_buffer_type, bits(64), atom('N), AccType, boolean, bool, bits('N*8)) -> write_buffer_type effect {escape} function AArch64_wMemSingle (write_buffer, address, size, acctype, wasaligned, exclusive, value) = { /*assert size IN {1, 2, 4, 8, 16};*/ - assert((address == Align(address, size)), None); + assert(address == Align(address, size)); /* ARM: AddressDescriptor memaddrdesc; */ iswrite : boolean = true; @@ -337,15 +335,15 @@ function AArch64_wMemSingle (write_buffer, address, size, acctype, wasaligned, e /** FUNCTION:CheckSPAlignment() */ -val CheckSPAlignment : unit -> unit effect {rreg} +val CheckSPAlignment : unit -> unit effect {rreg,escape} function CheckSPAlignment() = { sp : bits(64) = rSP(); stack_align_check : bool = false; /* ARM: this is missing from ARM ARM */ - if PSTATE_EL == EL0 then - stack_align_check = (SCTLR_EL1.SA0 != 0) + if PSTATE_EL() == EL0 then + stack_align_check = (SCTLR_EL1.SA0() != 0b0) else - stack_align_check = ((SCTLR'()).SA != 0); + stack_align_check = (SCTLR'().SA() != 0b0); if stack_align_check & sp != Align(sp, 16) then AArch64_SPAlignmentFault(); @@ -353,7 +351,7 @@ function CheckSPAlignment() = { /** FUNCTION:// Mem[] - non-assignment (read) form */ -val rMem' : forall 'N, 'N in {1,2,4,8,16}. (read_buffer_type, bits(64),atom('N), AccType, bool) -> read_buffer_type effect {rmem} +val rMem' : forall 'N, 'N in {1,2,4,8,16}. (read_buffer_type, bits(64),atom('N), AccType, bool) -> read_buffer_type effect {escape,rreg} function rMem'(read_buffer, address, size, acctype, exclusive) = { /* ARM: assert size IN {1, 2, 4, 8, 16}; */ @@ -366,9 +364,9 @@ function rMem'(read_buffer, address, size, acctype, exclusive) = atomic : boolean = ((aligned & ~(acctype == AccType_VEC | acctype == AccType_VECSTREAM)) | size == 1); if ~(atomic) then { - assert((~(exclusive)), None); /* as far as I can tell this should never happen */ + assert(~(exclusive)); /* as far as I can tell this should never happen */ - assert((size > 1), None); + assert(size > 1); if (~(exclusive)) then { /*value[7..0] =*/read_buffer' = AArch64_rMemSingle(read_buffer', address, 1, acctype, aligned, false); @@ -393,11 +391,11 @@ function rMem'(read_buffer, address, size, acctype, exclusive) = read_buffer' } -val rMem : forall 'N, 'N in {1,2,4,8,16}. (read_buffer_type, bits(64), atom('N), AccType) -> read_buffer_type effect {rmem} +val rMem : forall 'N, 'N in {1,2,4,8,16}. (read_buffer_type, bits(64), atom('N), AccType) -> read_buffer_type effect {escape,rreg} function rMem (read_buffer, address, size, acctype) = rMem'(read_buffer, address, size, acctype, false) -val rMem_exclusive : forall 'N, 'N in {1,2,4,8,16}. (read_buffer_type, bits(64), atom('N), AccType) -> read_buffer_type effect {rmem} +val rMem_exclusive : forall 'N, 'N in {1,2,4,8,16}. (read_buffer_type, bits(64), atom('N), AccType) -> read_buffer_type effect {escape,rreg} function rMem_exclusive(read_buffer, address, size, acctype) = rMem'(read_buffer, address, size, acctype, true) @@ -407,7 +405,7 @@ function rMem_exclusive(read_buffer, address, size, acctype) = store-exclusive, this function should only be called indirectly by one of the functions that follow it. returns true if the store-exclusive was successful. */ -val wMem' : forall 'N, 'N in {1,2,4,8,16}. (write_buffer_type, bits(64), atom('N), AccType, bits('N*8), bool) -> write_buffer_type +val wMem' : forall 'N, 'N in {1,2,4,8,16}. (write_buffer_type, bits(64), atom('N), AccType, bits('N*8), bool) -> write_buffer_type effect {escape,rreg} function wMem' (write_buffer, address, size, acctype, value, exclusive) = { write_buffer' : write_buffer_type = write_buffer; @@ -424,10 +422,10 @@ function wMem' (write_buffer, address, size, acctype, value, exclusive) = { exclusiveSuccess : bool = false; if ~(atomic) then { - assert((~(exclusive)), None); /* as far as I can tell this should never happen */ + assert(~(exclusive)); /* as far as I can tell this should never happen */ if (~(exclusive)) then { - assert((size > 1), None); + assert(size > 1); write_buffer' = AArch64_wMemSingle(write_buffer', address, 1, acctype, aligned, false, value'[7..0]); /* For subsequent bytes it is CONSTRAINED UNPREDICTABLE whether an unaligned Device memory */ @@ -447,61 +445,61 @@ function wMem' (write_buffer, address, size, acctype, value, exclusive) = { write_buffer' } -val wMem : forall 'N, 'N in {1,2,4,8,16}. (write_buffer_type, bits(64), atom('N), AccType, bits('N*8)) -> write_buffer_type +val wMem : forall 'N, 'N in {1,2,4,8,16}. (write_buffer_type, bits(64), atom('N), AccType, bits('N*8)) -> write_buffer_type effect {escape,rreg} function wMem (write_buffer, address, size, acctype, value) = wMem'(write_buffer, address, size, acctype, value, false) -val wMem_exclusive : forall 'N, 'N in {1,2,4,8,16}. (write_buffer_type, bits(64), atom('N), AccType, bits('N*8)) -> buffer_type +val wMem_exclusive : forall 'N, 'N in {1,2,4,8,16}. (write_buffer_type, bits(64), atom('N), AccType, bits('N*8)) -> write_buffer_type effect {escape,rreg} function wMem_exclusive(write_buffer, address, size, acctype, value) = wMem'(write_buffer, address, size, acctype, value, true) /** FUNCTION:aarch64/functions/registers/AArch64.ResetGeneralRegisters */ -function unit AArch64_ResetGeneralRegisters() = +function AArch64_ResetGeneralRegisters() -> unit = { foreach (i from 0 to 30) - wX(i) = (UNKNOWN : bits(64)); + wX(i) = (UNKNOWN_VEC() : bits(64)); } /** FUNCTION:aarch64/functions/registers/AArch64.ResetSIMDFPRegisters */ -function unit AArch64_ResetSIMDFPRegisters() = +function AArch64_ResetSIMDFPRegisters() -> unit = { foreach (i from 0 to 31) - wV(i) = (UNKNOWN : bits(128)); + wV(i) = (UNKNOWN_VEC() : bits(128)); } /** FUNCTION:aarch64/functions/registers/AArch64.ResetSpecialRegisters */ -function unit AArch64_ResetSpecialRegisters() = +function AArch64_ResetSpecialRegisters() -> unit = { /* AArch64 special registers */ - SP_EL0 = (UNKNOWN : bits(64)); - SP_EL1 = (UNKNOWN : bits(64)); - SPSR_EL1 = (UNKNOWN : bits(32)); - ELR_EL1 = (UNKNOWN : bits(64)); + SP_EL0 = (UNKNOWN_VEC() : bits(64)); + SP_EL1 = (UNKNOWN_VEC() : bits(64)); + SPSR_EL1->bits() = (UNKNOWN_VEC() : bits(32)); + ELR_EL1 = (UNKNOWN_VEC() : bits(64)); if HaveEL(EL2) then { - SP_EL2 = (UNKNOWN : bits(64)); - SPSR_EL2 = (UNKNOWN : bits(32)); - ELR_EL2 = (UNKNOWN : bits(64)); + SP_EL2 = (UNKNOWN_VEC() : bits(64)); + SPSR_EL2->bits() = (UNKNOWN_VEC() : bits(32)); + ELR_EL2 = (UNKNOWN_VEC() : bits(64)); }; if HaveEL(EL3) then { - SP_EL3 = (UNKNOWN : bits(64)); - SPSR_EL3 = (UNKNOWN : bits(32)); - ELR_EL3 = (UNKNOWN : bits(64)); + SP_EL3 = (UNKNOWN_VEC() : bits(64)); + SPSR_EL3->bits() = (UNKNOWN_VEC() : bits(32)); + ELR_EL3 = (UNKNOWN_VEC() : bits(64)); }; /* AArch32 special registers that are not architecturally mapped to AArch64 registers */ if HaveAArch32EL(EL1) then { - SPSR_fiq = (UNKNOWN : bits(32)); - SPSR_irq = (UNKNOWN : bits(32)); - SPSR_abt = (UNKNOWN : bits(32)); - SPSR_und = (UNKNOWN : bits(32)); + SPSR_fiq = (UNKNOWN_VEC() : bits(32)); + SPSR_irq = (UNKNOWN_VEC() : bits(32)); + SPSR_abt = (UNKNOWN_VEC() : bits(32)); + SPSR_und = (UNKNOWN_VEC() : bits(32)); }; /* External debug special registers */ - DLR_EL0 = (UNKNOWN : bits(64)); - DSPSR_EL0 = (UNKNOWN : bits(32)); + DLR_EL0 = (UNKNOWN_VEC() : bits(64)); + DSPSR_EL0 = (UNKNOWN_VEC() : bits(32)); } /** FUNCTION:aarch64/functions/registers/PC */ @@ -511,74 +509,70 @@ function rPC () = _PC /** FUNCTION:// SP[] - assignment form */ -val wSP : forall 'N, 'N in {32,64}. (unit, bits('N)) -> unit effect {rreg,wreg} +val wSP : forall 'N, 'N in {32,64}. (unit, bits('N)) -> unit effect {rreg,wreg,escape} function wSP ((), value) = { /*assert width IN {32,64};*/ - if PSTATE_SP == 0 then + if PSTATE_SP() == 0b0 then SP_EL0 = ZeroExtend(value) else - let pstate_el = PSTATE_EL in { + let pstate_el = PSTATE_EL() in { if pstate_el == EL0 then SP_EL0 = ZeroExtend(value) else if pstate_el == EL1 then SP_EL1 = ZeroExtend(value) else if pstate_el == EL2 then SP_EL2 = ZeroExtend(value) else if pstate_el == EL3 then SP_EL3 = ZeroExtend(value) - else assert(false,None); (); + else assert(false); (); } } /** FUNCTION:// SP[] - non-assignment form */ -val rSP : unit -> bits('N) effect {rreg} -function rSP () = { +function rSP(N) = { /*assert width IN {8,16,32,64};*/ - if PSTATE_SP == 0 then + if PSTATE_SP() == 0b0 then mask(SP_EL0) else - let pstate_el = PSTATE_EL in { + let pstate_el = PSTATE_EL() in { if pstate_el == EL0 then mask(SP_EL0) else if pstate_el == EL1 then mask(SP_EL1) else if pstate_el == EL2 then mask(SP_EL2) else if pstate_el == EL3 then mask(SP_EL3) - else {assert(false,None); mask(SP_EL3)} + else {assert(false); mask(SP_EL3)} } } /** FUNCTION:// V[] - assignment form */ -val wV : forall 'N, 'N in {8,16,32,64,128}. (SIMD_index, bits('N)) -> unit effect {wreg} function wV (n, value) = { /*assert n >= 0 && n <= 31;*/ /*assert width IN {8,16,32,64,128};*/ - _V[n] = ZeroExtend(value); + (* _V[n]) = ZeroExtend(value); } /** FUNCTION:// V[] - non-assignment form */ -val rV: forall 'N, 'N in {8,16,32,64,128}. SIMD_index -> bits('N) effect {rreg} -function rV (n) = mask(_V[n]) +function rV (N,n) = mask(reg_deref (_V[n])) /** FUNCTION:// Vpart[] - non-assignment form */ -val rVpart : forall 'N, 'N in {8,16,32,64,128}. (SIMD_index, range(0,1)) -> bits('N) effect {rreg} -function rVpart (n,part) = { +function rVpart (N,n,part) = { if part == 0 then - mask(_V[n]) : bits('N) + mask(reg_deref(_V[n])) : bits('N) else { - assert((length(0 : bits('N)) == 64), None); - ((_V[n])[127..64]) : bits(64); + assert(N == 64); + (reg_deref(_V[n])[127..64]) : bits(64); } } /** FUNCTION:// Vpart[] - assignment form */ -val wVpart : forall 'N, 'N in {8,16,32,64,128}. (SIMD_index, range(0,1), bits('N)) -> unit effect {wreg} +val wVpart : forall 'N, 'N in {8,16,32,64,128}. (SIMD_index, range(0,1), bits('N)) -> unit effect {wreg,escape} function wVpart(n, part, value) = { if part == 0 then - _V[n] = ZeroExtend(value) + (* _V[n]) = ZeroExtend(value) else { - assert((length(0 : bits('N)) == 64), None); - (_V[n])[127..64] = value; + assert(length(value) == 64); + (* _V[n])[127..64] = value; } } diff --git a/aarch64_small/armV8_common_lib.sail b/aarch64_small/armV8_common_lib.sail index b28dc462..fa7e48d3 100644 --- a/aarch64_small/armV8_common_lib.sail +++ b/aarch64_small/armV8_common_lib.sail @@ -166,7 +166,7 @@ function IsFault(addrdesc : AddressDescriptor) -> boolean= { /* CP: replacing this with the slightly simpler one below */ -val ASR : forall 'N, 'N >= 1. (bits('N), uinteger) -> bits('N) +val ASR : forall 'N, 'N >= 1. (bits('N), uinteger) -> bits('N) effect {escape} function ASR (x, shift) = { /*assert shift >= 0;*/ if shift == 0 then x @@ -176,7 +176,6 @@ function ASR (x, shift) = { /** FUNCTION:shared/functions/common/ASR_C */ -val ASR_C : forall 'N 'S, 'N >= 1 & 'S >= 1. (bits('N), atom('S)) -> (bits('N), bit) function ASR_C (x, shift) = { /*assert shift > 0;*/ extended_x : bits('S+'N) = SignExtend(x); @@ -197,7 +196,7 @@ function Align'(x : uinteger, y : uinteger) -> uinteger = /** FUNCTION:bits(N) Align(bits(N) x, integer y) */ -val Align : forall 'N, 'N >= 0. (bits('N), uinteger) -> bits('N) +val Align : forall 'N, 'N >= 0. (bits('N), uinteger) -> bits('N) effect {escape} function Align (x, y) = to_bits (Align'(UInt(x), y)) @@ -210,7 +209,6 @@ function CountLeadingSignBits(x) = /** FUNCTION:integer CountLeadingZeroBits(bits(N) x) */ -val CountLeadingZeroBits : forall 'N, 'N >= 0. bits('N) -> range(0,'N) function CountLeadingZeroBits(x) = match HighestSetBit(x) { None() => length(x), @@ -218,7 +216,7 @@ function CountLeadingZeroBits(x) = } /** FUNCTION:bits(N) Extend(bits(M) x, integer N, boolean unsigned) */ -val Extend : forall 'N 'M, 1 <= 'M & 'M < 'N. (atom('N),bits('M),bit) -> bits('N) effect pure +val Extend : forall 'N 'M, 1 <= 'M & 'M < 'N. (atom('N),bits('M),bit) -> bits('N) effect {escape} function Extend (n, x, _unsigned) = if _unsigned then ZeroExtend(n,x) else SignExtend(n,x) @@ -238,7 +236,6 @@ function Extend (n, x, _unsigned) = /* if break then Some(result) else None; */ /* }} */ -val HighestSetBit : forall 'N, 'N >= 0. bits('N) -> option(range(0, 'N - 1)) function HighestSetBit(x) = { let N = length(x) in { foreach (i from (N - 1) downto 0) @@ -251,20 +248,20 @@ function HighestSetBit(x) = { /** FUNCTION:integer Int(bits(N) x, boolean unsigned) */ /* used to be called Int */ -val _Int : forall 'N, 'N >= 0. (bits('N), boolean) -> integer +val _Int : forall 'N, 'N >= 1. (bits('N), boolean) -> integer effect {escape} function _Int (x, _unsigned) = { if _unsigned then UInt(x) else SInt(x) } /** FUNCTION:boolean IsZero(bits(N) x) */ -val IsZero : forall 'N, 'N >= 0. bits('N) -> boolean -function IsZero(x) = x == 0 /* ARM: Zeros(N) */ +/* function IsZero(x) = x == 0 /\* ARM: Zeros(N) *\/ */ +function IsZero(x) = x == Zeros() /* ARM: Zeros(N) */ /** FUNCTION:bit IsZeroBit(bits(N) x) */ val IsZeroBit : forall 'N, 'N >= 0. bits('N) -> bit -function IsZeroBit(x) = if IsZero(x) then 1 else 0 +function IsZeroBit(x) = if IsZero(x) then bitone else bitzero /** FUNCTION:shared/functions/common/LSL */ @@ -272,7 +269,7 @@ val LSL : forall 'N, 'N >= 0. (bits('N), uinteger) -> bits('N) function LSL(x, shift) = { /*assert shift >= 0;*/ - result : bits('N) = 0; + result : bits('N) = Zeros(); if shift == 0 then result = x else @@ -282,7 +279,6 @@ function LSL(x, shift) = /** FUNCTION:shared/functions/common/LSL_C */ -val LSL_C : forall 'N 'S, 'N >= 0 & 'S >= 1. (bits('N), atom('S)) -> (bits('N)) function LSL_C (x, shift) = { /*assert shift > 0;*/ @@ -294,11 +290,11 @@ function LSL_C (x, shift) = /** FUNCTION:shared/functions/common/LSR */ -val LSR : forall 'N, 'N >= 0. (bits('N), uinteger) -> bits('N) +val LSR : forall 'N, 'N >= 1. (bits('N), uinteger) -> bits('N) function LSR(x, shift) = { /*assert shift >= 0;*/ - result : bits('N) = 0; + result : bits('N) = Zeros(); if shift == 0 then result = x else @@ -308,12 +304,10 @@ function LSR(x, shift) = /** FUNCTION:shared/functions/common/LSR_C */ -val LSR_C : forall 'N 'S, 'N >= 0 & 'S >=1. (bits('N), atom('S)) -> (bits('N), bit) -function LSR_C(x, shift) = -{ +function LSR_C(x, shift) = { /*assert shift > 0;*/ extended_x : bits('N + 'S) = ZeroExtend(x); - result : bits('N) = extended_x[(shift + length(x) - 1)..shift]; + result : bits('N) = extended_x[(length(x) + shift - 1)..shift]; carry_out : bit = extended_x[shift - 1]; (result, carry_out); } @@ -338,16 +332,14 @@ function NOT'(x) = ~(x) /** FUNCTION:shared/functions/common/Ones */ -val Ones : forall 'N, 'N >= 0. unit -> bits('N) -function Ones() = Replicate([1]) +function Ones(n) = Replicate(n,[bitone]) /** FUNCTION:shared/functions/common/ROR */ -val ROR : forall 'N, 'N >= 0. (bits('N), uinteger) -> bits('N) -function ROR(x, shift) = -{ +val ROR : forall 'N, 'N >= 1. (bits('N), uinteger) -> bits('N) +function ROR(x, shift) = { /*assert shift >= 0;*/ - result : bits('N) = 0; + result : bits('N) = Zeros(); if shift == 0 then result = x else @@ -357,12 +349,12 @@ function ROR(x, shift) = /** FUNCTION:shared/functions/common/ROR_C */ -val ROR_C : forall 'N 'S, 'N >= 0 & ('S >=1 | 'S <= -1). (bits('N), atom('S)) -> (bits('N)) + function ROR_C(x, shift) = { let N = (length(x)) in { - /*assert shift != 0;*/ - m : nat = mod (shift,N); + /* assert shift != 0; */ + m = mod (shift,N); result : bits('N) = (LSR(x,m) | LSL(x,N - m)); carry_out : bit = result[N - 1]; (result, carry_out); @@ -370,22 +362,20 @@ function ROR_C(x, shift) = /** FUNCTION:shared/functions/common/Replicate */ -val Replicate : forall 'N 'M, 'N >= 0 & 'M >= 0. bits('M) -> bits('N) -function Replicate (x) = { - let (N,M) : (bits('N),bits('M)) = (0,0) in { - assert((mod(N, M) == 0),None); +function Replicate (N,x) = { + let M = length(x); + assert(mod(N, M) == 0); - result : bits('N) = 0; - zeros : bits('N-'M) = (Zeros()); - foreach (i from M to N by M) result = ((result << M) | zeros:x); + result : bits('N) = Zeros(); + zeros : bits('N-'M) = Zeros(); + foreach (i from M to N by M) result = ((((result << M) : bits('N)) | ((zeros@x) : bits('N))) : bits('N)); result; -}} +} /** FUNCTION:integer SInt(bits(N) x) */ /*function forall Nat 'N, Nat 'M, Nat 'K, 'M = 'N + -1, 'K = 2**'M. [|'K * -1:'K + -1|] SInt((bits('N)) x) =*/ -val SInt : forall 'N, 'N >= 0. bits('N) -> range(-(2 ^ ('N - 1) - 1), 2 ^ ('N - 1) - 1) function SInt(x) = { signed(x) /*let N = (length((bits('N)) 0)) in { @@ -397,30 +387,34 @@ function SInt(x) = { /** FUNCTION:bits(N) SignExtend(bits(M) x, integer N) */ -function SignExtend forall 'N 'M, 'N > M & 'M >= 1. (_ : atom('N), ([h]@remainder as x) : bits('M)) -> bits('N) = - (Replicate([h]) : bits(('N - 'M))) @ x +function SignExtend (N, ([h]@(remainder : bits('M - 1)) as x) : bits('M)) = { + let M = length(x); /* necessary for the type system to rewrite sizeof */ + (Replicate([h]) : bits(('N - 'M))) @ x + } + /** FUNCTION:integer UInt(bits(N) x) */ -function UInt forall 'N, 'N >=0 . (x : bits('N)) -> range(0, 2 ^ 'N - 1) = +function UInt (x : bits('N)) = unsigned(x) /** FUNCTION:bits(N) ZeroExtend(bits(M) x, integer N) */ -val ZeroExtend : forall 'M 'N, N >= M & 'M >= 0. (atom('N),bits('M)) -> bits('N) -function ZeroExtend (x) = (Zeros() : bits(('N - 'M))) @ x +function ZeroExtend (N, x : bits('M)) = { + let M = length(x); + (Zeros() : bits(('N - 'M))) @ x +} /** FUNCTION:shared/functions/common/Zeros */ -val Zeros : forall 'N, 'N >= 0. unit -> bits('N) -function Zeros() = 0 : bits('N) /* ARM: Zeros(N) */ +function Zeros(N) = (replicate_bits(0b0, 'N)) : bits('N) /* ARM: Zeros(N) */ /** FUNCTION:bits(N) BitReverse(bits(N) data) */ val BitReverse : forall 'N, 'N >= 0. bits('N) -> bits('N) function BitReverse(data) = { let N = (length(data)) in { - result : bits('N) = 0; /* ARM: uninitialized */ + result : bits('N) = Zeros(); /* ARM: uninitialized */ foreach (i from 0 to (N - 1)) result[N - i - 1] = data[i]; result; @@ -433,16 +427,16 @@ function HaveCRCExt() -> boolean = IMPLEMENTATION_DEFINED.HaveCRCExt /** FUNCTION:bits(32) Poly32Mod2(bits(N) data, bits(32) poly) */ -val Poly32Mod2 : forall 'N, 'N >= 0. (bits('N), bits(32)) -> bits(32) +val Poly32Mod2 : forall 'N, 'N >= 0. (bits('N), bits(32)) -> bits(32) effect {escape} function Poly32Mod2(data, poly) = { result : bits('N) = data; let N = (length(data)) in { - assert((N > 32 ),None); + assert(N > 32); data' : bits('N) = data; - zeros : bits('N - 32) = Zeros(); + /* zeros : bits('N - 32) = Zeros(); */ foreach (i from (N - 1) downto 32) { - if data'[i] == 1 then - data'[(i - 1)..0] = data'[(i - 1)..0] ^ (poly:zeros[(i - 33)..0]); + if data'[i] == bitone then + data'[(i - 1)..0] = data'[(i - 1)..0] ^ (poly@Zeros(i - 32)); /* making this match ASL-generated spec */ }; data'[31..0]; }} @@ -465,12 +459,12 @@ function ClearExclusiveLocal(processorid) = /** FUNCTION:shared/functions/exclusive/ExclusiveMonitorsStatus */ -val ExclusiveMonitorsStatus : unit -> bit effect pure +val ExclusiveMonitorsStatus : unit -> bit effect {escape} function ExclusiveMonitorsStatus() = { info("The model does not implement the exclusive monitors explicitly."); not_implemented("ExclusiveMonitorsStatus should not be called"); - 0; + /* bitzero; */ } /** FUNCTION:shared/functions/exclusive/IsExclusiveGlobal */ @@ -506,19 +500,19 @@ function MarkExclusiveLocal(paddress, processorid, size) = { /** FUNCTION:shared/functions/exclusive/ProcessorID */ /* FIXME: return the real number? */ -function integer ProcessorID() = {0} +function ProcessorID() -> int = 0 /** FUNCTION:(bits(N), bits(4)) AddWithCarry(bits(N) x, bits(N) y, bit carry_in) */ -val AddWithCarry : forall 'N, 'N >= 0. (bits('N), bits('N), bit) -> (bits('N), bits(4)) +val AddWithCarry : forall 'N, 'N > 0. (bits('N), bits('N), bit) -> (bits('N), bits(4)) effect {escape} function AddWithCarry (x, y, carry_in) = { unsigned_sum : uinteger = UInt(x) + UInt(y) + UInt([carry_in]); signed_sum : integer = SInt(x) + SInt(y) + UInt([carry_in]); - result : bits('N) = unsigned_sum; /* same value as signed_sum<N-1:0> */ + result : bits('N) = __GetSlice_int('N, unsigned_sum, 0); /* same value as signed_sum<N-1:0> */ n : bit = result[(length(result)) - 1]; - z : bit = if IsZero(result) then 1 else 0; - c : bit = if UInt(result) == unsigned_sum then 0 else 1; - v : bit = if SInt(result) == signed_sum then 0 else 1; + z : bit = if IsZero(result) then bitone else bitzero; + c : bit = if UInt(result) == unsigned_sum then bitone else bitzero; + v : bit = if SInt(result) == signed_sum then bitone else bitzero; (result,[n,z,c,v]) /* (result,[n]:[z]:[c]:[v]) */ } @@ -528,24 +522,28 @@ function AddWithCarry (x, y, carry_in) = { val BigEndian : unit -> boolean effect {rreg} function BigEndian() = { - bigend : boolean = 0; /* ARM: uninitialized */ + /* bigend : boolean = bitzero; /\* ARM: uninitialized *\/ */ if UsingAArch32() then - bigend = (PSTATE_E != 0) - else if PSTATE_EL == EL0 then - bigend = (SCTLR_EL1.E0E != 0) + /* bigend = */(PSTATE_E != 0b0) + else if PSTATE_EL() == EL0 then + /* bigend = */(SCTLR_EL1.E0E() != 0b0) else - bigend = ((SCTLR'()).EE != 0); - bigend; + /* bigend = */((SCTLR'()).EE() != 0b0); + /* bigend; */ } /** FUNCTION:shared/functions/memory/BigEndianReverse */ val BigEndianReverse : forall 'W, 'W in {8,16,32,64,128}. bits('W) -> bits('W) effect pure -function rec BigEndianReverse (value) = -{ - width : uinteger= length(value); - half : uinteger = quot(width,2); - if width == 8 then /*return*/ value - else /*return*/ BigEndianReverse(value[(half - 1)..0]) @ BigEndianReverse(value[(width - 1)..half]); +function BigEndianReverse (value) = { + let 'half = 'W / 2; + width : atom('W) = length(value); + /* half : uinteger = width / 2; */ + if width == 8 then value + else { + let a = BigEndianReverse(value[('half - 1)..0]); + let b = BigEndianReverse(value[(width - 1)..half]); + a @ b; + } } /** FUNCTION:shared/functions/memory/DataMemoryBarrier */ @@ -554,7 +552,7 @@ function rec BigEndianReverse (value) = /* external */ val DataMemoryBarrier_Writes : unit -> unit effect {barr} /* external */ val DataMemoryBarrier_All : unit -> unit effect {barr} -val DataMemoryBarrier : (MBReqDomain, MBReqTypes) -> unit effect {barr} +val DataMemoryBarrier : (MBReqDomain, MBReqTypes) -> unit effect {barr, escape} function DataMemoryBarrier(domain, types) = { if domain != MBReqDomain_FullSystem & domain != MBReqDomain_InnerShareable then @@ -573,7 +571,7 @@ function DataMemoryBarrier(domain, types) = /* external */ val DataSynchronizationBarrier_Writes : unit -> unit effect {barr} /* external */ val DataSynchronizationBarrier_All : unit -> unit effect {barr} -val DataSynchronizationBarrier : (MBReqDomain, MBReqTypes) -> unit effect {barr} +val DataSynchronizationBarrier : (MBReqDomain, MBReqTypes) -> unit effect {barr,escape} function DataSynchronizationBarrier(domain, types) = { if domain != MBReqDomain_FullSystem then @@ -627,45 +625,45 @@ let empty_read_buffer = address = 0; } -val _rMem : forall 'N, 'N in {1,2,4,8,16}. (read_buffer_type, AddressDescriptor, atom('N), AccType, bool) -> read_buffer_type effect pure +val _rMem : forall 'N, 'N in {1,2,4,8,16}. (read_buffer_type, AddressDescriptor, atom('N), AccType, bool) -> read_buffer_type effect {escape} function _rMem(read_buffer, desc, size, acctype, exclusive) = { - if read_buffer.size == 0 then { - { acctype = acctype; - exclusive = exclusive; - address = (desc.paddress).physicaladdress; - size = size; + if read_buffer.size == 0 then + struct { acctype = acctype, + exclusive = exclusive, + address = (desc.paddress).physicaladdress, + size = size } - } else { - assert((read_buffer.acctype == acctype), None); - assert((read_buffer.exclusive == exclusive), None); - assert(((read_buffer.address + read_buffer.size) : bits(64) == (desc.paddress).physicaladdress), None); + assert(read_buffer.acctype == acctype); + assert(read_buffer.exclusive == exclusive); + assert((read_buffer.address + read_buffer.size) : bits(64) == (desc.paddress).physicaladdress); {read_buffer with size = read_buffer.size + size} } } -val flush_read_buffer : forall 'N, 'N in {1,2,4,8,16}. (read_buffer_type, atom('N)) -> bits('N*8) +val flush_read_buffer : forall 'N, 'N in {1,2,4,8,16}. (read_buffer_type, atom('N)) -> bits('N*8) effect {rmem, rreg, escape} function flush_read_buffer(read_buffer, size) = { - assert((read_buffer.size == size), None); + assert(read_buffer.size == size); - value : bits('N*8) = 0; + value : bits('N*8) = Zeros(); if read_buffer.exclusive then { match read_buffer.acctype { - AccType_ATOMIC => value = rMem_ATOMIC(read_buffer.address, read_buffer.size), - AccType_ORDERED => value = rMem_ATOMIC_ORDERED(read_buffer.address, read_buffer.size), + AccType_ATOMIC => value = rMem_ATOMIC(read_buffer.address, size), + AccType_ORDERED => value = rMem_ATOMIC_ORDERED(read_buffer.address, size), _ => { not_implemented("unimplemented memory access"); } } } else { match read_buffer.acctype { - AccType_NORMAL => value = rMem_NORMAL (read_buffer.address, read_buffer.size), - AccType_STREAM => value = rMem_STREAM (read_buffer.address, read_buffer.size), - AccType_UNPRIV => value = rMem_NORMAL (read_buffer.address, read_buffer.size), - AccType_ORDERED => value = rMem_ORDERED(read_buffer.address, read_buffer.size), - AccType_ATOMIC => assert(false,Some("Reached AccType_ATOMIC: unreachable when address values are known")) - /*/*old code*/ value = rMem_NORMAL (read_buffer.address, read_buffer.size) /* the second read of 64-bit LDXP */*/ + AccType_NORMAL => value = rMem_NORMAL (read_buffer.address, size), + AccType_STREAM => value = rMem_STREAM (read_buffer.address, size), + AccType_UNPRIV => value = rMem_NORMAL (read_buffer.address, size), + AccType_ORDERED => value = rMem_ORDERED(read_buffer.address, size), + AccType_ATOMIC => assert(false,"Reached AccType_ATOMIC: unreachable when address values are known"), + /* (*old code*) value = rMem_NORMAL (read_buffer.address, size) (* the second read of 64-bit LDXP *)*/ + _ => assert(false) } }; @@ -685,7 +683,7 @@ function flush_read_buffer(read_buffer, size) = /* store-exclusive+release */ /* external */ val wMem_Addr_ATOMIC_ORDERED : forall 'N, 'N in {1,2,4,8,16}. (bits(64) /*address*/, atom('N) /*size*/) -> unit effect {eamem} -val wMem_Addr : forall 'N, 'N in {1,2,4,8,16}. (bits(64), atom('N), AccType, boolean) -> unit effect {eamem} +val wMem_Addr : forall 'N, 'N in {1,2,4,8,16}. (bits(64), atom('N), AccType, boolean) -> unit effect {eamem, escape} function wMem_Addr(address, size, acctype, excl) = { match (excl, acctype) { @@ -711,7 +709,8 @@ struct write_buffer_type = { exclusive : bool, address : bits(64), value : bits(128), - size : uinteger, + /* size : uinteger, */ + size : range(0,16), } let empty_write_buffer = { @@ -723,86 +722,89 @@ let empty_write_buffer = { value = 0; } -val _wMem : forall 'N, 'N in {1,2,4,8,16}. (write_buffer_type, AddressDescriptor, atom('N), AccType, bool, bits('N*8)) -> write_buffer_type +val _wMem : forall 'N, 'N in {1,2,4,8,16}. (write_buffer_type, AddressDescriptor, atom('N), AccType, bool, bits('N*8)) -> write_buffer_type effect {escape} function _wMem(write_buffer, desc, size, acctype, exclusive, value) = { - if write_buffer.size == 0 then { - { acctype = acctype; - exclusive = exclusive; - address = (desc.paddress).physicaladdress; - value : bits(128) = ZeroExtend(value); - size = size; + let s = write_buffer.size; + if s == 0 then { + struct { acctype = acctype, + exclusive = exclusive, + address = (desc.paddress).physicaladdress, + value = ZeroExtend(value), + size = size } } else { - assert((write_buffer.acctype == acctype),None); - assert((write_buffer.exclusive == exclusive), None); - assert(((write_buffer.address + write_buffer.size) : bits(64) == (desc.paddress).physicaladdress),None); - + assert(write_buffer.acctype == acctype); + assert(write_buffer.exclusive == exclusive); + assert((write_buffer.address + s) : bits(64) == (desc.paddress).physicaladdress); + assert((s * 8) + ('N * 8) <= 128); { write_buffer with - value = (ZeroExtend(value @ (write_buffer.value)[((write_buffer.size * 8) - 1) .. 0])), - size = write_buffer.size + size + value = (ZeroExtend(value @ (write_buffer.value)[((s * 8) - 1) .. 0])), + size = s + size } } } -val flush_write_buffer : write_buffer_type -> unit effect {wmv} +val flush_write_buffer : write_buffer_type -> unit effect {escape, wmv} function flush_write_buffer(write_buffer) = { - assert((write_buffer.exclusive == false), None); - + assert(write_buffer.exclusive == false); + let s : range(0,16) = write_buffer.size; + assert (s == 1 | s == 2 | s == 4 | s == 8 | s == 16); match write_buffer.acctype { - AccType_NORMAL => wMem_Val_NORMAL (write_buffer.size, (write_buffer.value)[((write_buffer.size * 8) - 1) .. 0]), - AccType_STREAM => wMem_Val_NORMAL (write_buffer.size, (write_buffer.value)[((write_buffer.size * 8) - 1) .. 0]), - AccType_UNPRIV => wMem_Val_NORMAL (write_buffer.size, (write_buffer.value)[((write_buffer.size * 8) - 1) .. 0]), - AccType_ORDERED => wMem_Val_NORMAL (write_buffer.size, (write_buffer.value)[((write_buffer.size * 8) - 1) .. 0]), + AccType_NORMAL => wMem_Val_NORMAL (s, (write_buffer.value)[((s * 8) - 1) .. 0]), + AccType_STREAM => wMem_Val_NORMAL (s, (write_buffer.value)[((s * 8) - 1) .. 0]), + AccType_UNPRIV => wMem_Val_NORMAL (s, (write_buffer.value)[((s * 8) - 1) .. 0]), + AccType_ORDERED => wMem_Val_NORMAL (s, (write_buffer.value)[((s * 8) - 1) .. 0]), _ => not_implemented("unrecognised memory access") }; } -val flush_write_buffer_exclusive : write_buffer_type -> bool effect {wmv} +val flush_write_buffer_exclusive : write_buffer_type -> bool effect {escape, wmv} function flush_write_buffer_exclusive(write_buffer) = { - assert((write_buffer.exclusive), None); - + assert(write_buffer.exclusive); + let s = write_buffer.size; + assert (s == 1 | s == 2 | s == 4 | s == 8 | s == 16); match write_buffer.acctype { - AccType_ATOMIC => wMem_Val_ATOMIC(write_buffer.size, (write_buffer.value)[((write_buffer.size * 8) - 1) .. 0]), - AccType_ORDERED => wMem_Val_ATOMIC(write_buffer.size, (write_buffer.value)[((write_buffer.size * 8) - 1) .. 0]), + AccType_ATOMIC => wMem_Val_ATOMIC(s, (write_buffer.value)[((s * 8) - 1) .. 0]), + AccType_ORDERED => wMem_Val_ATOMIC(s, (write_buffer.value)[((s * 8) - 1) .. 0]), _ => { not_implemented("unrecognised memory access"); false; } }; } /** FUNCTION:BranchTo(bits(N) target, BranchType branch_type) */ -val BranchTo : forall 'N, 'N in {32,64}. BranchType -> unit effect {rreg,wreg} +val BranchTo : forall 'N, 'N in {32,64}. (bits('N), BranchType) -> unit effect {escape, rreg, wreg} function BranchTo(target, branch_type) = { target' : bits('N) = target; /* Sail does not let you change parameter vector */ Hint_Branch(branch_type); if length(target) == 32 then { - assert( UsingAArch32(), None ); + assert( UsingAArch32()); _PC = ZeroExtend(target); } else { - assert(( length(target) == 64 & ~(UsingAArch32()) ), None); + assert( length(target) == 64 & ~(UsingAArch32()) ); /* Remove the tag bits from tagged target */ - let pstate_el = PSTATE_EL in { + let pstate_el = PSTATE_EL() in { if pstate_el == EL0 then { - if target'[55] == 1 & TCR_EL1.TBI1 == 1 then + if target'[55] == bitone & TCR_EL1.TBI1() == 0b1 then target'[63..56] = 0b11111111; - if target'[55] == 0 & TCR_EL1.TBI0 == 1 then + if target'[55] == bitzero & TCR_EL1.TBI0() == 0b1 then target'[63..56] = 0b00000000; } else if pstate_el == EL1 then { - if target'[55] == 1 & TCR_EL1.TBI1 == 1 then + if target'[55] == bitone & TCR_EL1.TBI1() == 0b1 then target'[63..56] = 0b11111111; - if target'[55] == 0 & TCR_EL1.TBI0 == 1 then + if target'[55] == bitzero & TCR_EL1.TBI0() == 0b1 then target'[63..56] = 0b00000000; } else if pstate_el == EL2 then { - if TCR_EL2.TBI == 1 then + if TCR_EL2.TBI() == 0b1 then target'[63..56] = 0b00000000; } else if pstate_el == EL3 then { - if TCR_EL3.TBI == 1 then + if TCR_EL3.TBI() == 0b1 then target'[63..56] = 0b00000000; } - else assert(false,None) + else assert(false) }; _PC = target'; }; @@ -817,22 +819,21 @@ function Hint_Branch(hint) = { } /** FUNCTION:shared/functions/registers/ResetExternalDebugRegisters */ -val ResetExternalDebugRegisters : boolean -> unit -function unit ResetExternalDebugRegisters (b) = +val ResetExternalDebugRegisters : boolean -> unit effect {escape} +function ResetExternalDebugRegisters (b) = not_implemented_extern("ResetExternalDebugRegisters") /** FUNCTION:shared/functions/registers/ThisInstrAddr */ -val ThisInstrAddr : forall 'N, 'N >= 0. implicit('N) -> bits('N) effect {rreg} -function ThisInstrAddr() = { - let N = (length(0 : bits('N))) in { - assert((N == 64 | (N == 32 & UsingAArch32())), None); +val ThisInstrAddr : forall 'N, 'N >= 0. implicit('N) -> bits('N) effect {escape,rreg} +function ThisInstrAddr(N) = { + assert(N == 64 | (N == 32 & UsingAArch32())); /*return*/ mask(rPC()); -}} +} /** FUNCTION:// SPSR[] - non-assignment form */ function rSPSR() -> bits(32) = { - result : bits(32) = 0; /* ARM: uninitialized */ + /* result : bits(32) = Zeros(); /\* ARM: uninitialized *\/ */ if UsingAArch32() then { not_implemented("rSPSR UsingAArch32"); /* ARM: @@ -847,19 +848,18 @@ function rSPSR() -> bits(32) = { otherwise Unreachable(); */ } else { - let pstate_el = PSTATE_EL in { - if pstate_el == EL1 then result = SPSR_EL1 - else if pstate_el == EL2 then result = SPSR_EL2 - else if pstate_el == EL3 then result = SPSR_EL3 - else Unreachable() + let pstate_el = PSTATE_EL() in { + if pstate_el == EL1 then /* result = */SPSR_EL1.bits() + else if pstate_el == EL2 then /* result = */SPSR_EL2.bits() + else if pstate_el == EL3 then /* result = */SPSR_EL3.bits() + else {Unreachable(); Zeros()} }; }; - - result; + /* result; */ } /** FUNCTION:shared/functions/system/ClearEventRegister */ -function unit ClearEventRegister () = not_implemented_extern("ClearEventRegister") +function ClearEventRegister () -> unit = not_implemented_extern("ClearEventRegister") /** FUNCTION:boolean ConditionHolds(bits(4) cond) */ val ConditionHolds : bits(4) -> boolean effect {rreg} @@ -867,19 +867,19 @@ function ConditionHolds(_cond) = { result : boolean = false; /* ARM: uninitialized */ /* Evaluate base condition */ match _cond[3..1] { - 0b000 => result = (PSTATE_Z == 1), /* EQ or NE */ - 0b001 => result = (PSTATE_C == 1), /* CS or CC */ - 0b010 => result = (PSTATE_N == 1), /* MI or PL */ - 0b011 => result = (PSTATE_V == 1), /* VS or VC */ - 0b100 => result = (PSTATE_C == 1 & PSTATE_Z == 0), /* HI or LS */ - 0b101 => result = (PSTATE_N == PSTATE_V), /* GE or LT */ - 0b110 => result = (PSTATE_N == PSTATE_V & PSTATE_Z == 0), /* GT or LE */ + 0b000 => result = (PSTATE_Z() == 0b1), /* EQ or NE */ + 0b001 => result = (PSTATE_C() == 0b1), /* CS or CC */ + 0b010 => result = (PSTATE_N() == 0b1), /* MI or PL */ + 0b011 => result = (PSTATE_V() == 0b1), /* VS or VC */ + 0b100 => result = (PSTATE_C() == 0b1 & PSTATE_Z() == 0b0), /* HI or LS */ + 0b101 => result = (PSTATE_N() == PSTATE_V()), /* GE or LT */ + 0b110 => result = (PSTATE_N() == PSTATE_V() & PSTATE_Z() == 0b0), /* GT or LE */ 0b111 => result = true /* AL */ }; /* Condition flag values in the set '111x' indicate always true */ /* Otherwise, invert condition if necessary. */ - if _cond[0] == 1 & _cond != 0b1111 then + if _cond[0] == bitone & _cond != 0b1111 then result = ~(result); result; @@ -892,12 +892,12 @@ function ELUsingAArch32(el : bits(2)) -> boolean = false /* ARM: ELStateUsingAArch32(el, IsSecureBelowEL3()) */ /* FIXME: implement */ /** FUNCTION:shared/functions/system/EventRegisterSet */ -function unit EventRegisterSet () = not_implemented_extern("EventRegisterSet") +function EventRegisterSet () -> unit = not_implemented_extern("EventRegisterSet") /** FUNCTION:shared/functions/system/EventRegistered */ -function boolean EventRegistered () = not_implemented_extern("EventRegistered") +function EventRegistered () -> boolean = not_implemented_extern("EventRegistered") /** FUNCTION:shared/functions/system/HaveAArch32EL */ -function boolean HaveAArch32EL(el : bits(2)) = { +function HaveAArch32EL (el : bits(2)) -> boolean = { /* Return TRUE if Exception level 'el' supports AArch32 */ if ~(HaveEL(el)) then false @@ -914,48 +914,46 @@ function boolean HaveAArch32EL(el : bits(2)) = { /** FUNCTION:boolean HaveAnyAArch32() */ -function boolean HaveAnyAArch32() = +function HaveAnyAArch32() -> boolean = { IMPLEMENTATION_DEFINED.HaveAnyAArch32 } /** FUNCTION:boolean HaveEL(bits(2) el) */ -function boolean HaveEL(el : bits(2)) = { +function HaveEL(el : bits(2)) -> boolean = { if el == EL1 | el == EL0 then true /*EL1 and EL0 must exist*/ else { if el == EL2 then IMPLEMENTATION_DEFINED.HaveEL2 else if el == EL3 then IMPLEMENTATION_DEFINED.HaveEL3 - else {assert (false,None); false}; + else {assert (false); false}; }; } /** FUNCTION:boolean HighestELUsingAArch32() */ -function boolean HighestELUsingAArch32() = -{ +function HighestELUsingAArch32() -> boolean = { if ~(HaveAnyAArch32()) then false else IMPLEMENTATION_DEFINED.HighestELUsingAArch32; /* e.g. CFG32SIGNAL == HIGH */ } /** FUNCTION:shared/functions/system/Hint_Yield */ -function unit Hint_Yield() = () +function Hint_Yield() -> unit = () /** FUNCTION:shared/functions/system/InstructionSynchronizationBarrier */ /* external */ val InstructionSynchronizationBarrier : unit -> unit effect {barr} /** FUNCTION:shared/functions/system/InterruptPending */ -function boolean InterruptPending () = not_implemented_extern("InterruptPending") +function InterruptPending () -> boolean = not_implemented_extern("InterruptPending") /** FUNCTION:boolean IsSecure() */ -function boolean IsSecure() = -{ +function IsSecure() -> boolean = { /*Return TRUE if current Exception level is in Secure state.*/ - if HaveEL(EL3) & ~(UsingAArch32()) & PSTATE_EL == EL3 then + if HaveEL(EL3) & ~(UsingAArch32()) & PSTATE_EL() == EL3 then true else if HaveEL(EL3) & UsingAArch32() & PSTATE_M == M32_Monitor then true @@ -965,9 +963,9 @@ function boolean IsSecure() = /** FUNCTION:boolean IsSecureBelowEL3() */ -function boolean IsSecureBelowEL3() = { +function IsSecureBelowEL3() -> boolean = { if HaveEL(EL3) then - ((SCR_GEN()).NS == 0) + SCR_GEN().NS() == 0b0 else if HaveEL(EL2) then false else @@ -978,9 +976,9 @@ function boolean IsSecureBelowEL3() = { /** ENUMERATE:shared/functions/system/Mode_Bits */ /** FUNCTION:shared/functions/system/SCR_GEN */ -function SCRType SCR_GEN() = { +function SCR_GEN() -> SCRType = { /*AArch32 secure & AArch64 EL3 registers are not architecturally mapped*/ - assert (HaveEL(EL3),None); + assert (HaveEL(EL3)); if HighestELUsingAArch32() then SCR @@ -990,7 +988,7 @@ function SCRType SCR_GEN() = { /** FUNCTION:shared/functions/system/SendEvent */ -function unit SendEvent() = +function SendEvent() -> unit = { () /* TODO: ??? */ @@ -998,14 +996,13 @@ function unit SendEvent() = /** FUNCTION:shared/functions/system/Unreachable */ -function unit Unreachable() = -{ - assert (false,Some("Unreachable reached")); +function Unreachable() -> unit = { + assert (false,"Unreachable reached"); } /** FUNCTION:shared/functions/system/UsingAArch32 */ -function boolean UsingAArch32() = +function UsingAArch32() -> boolean = { false; /* ARM: uncomment when implementing aarch32 @@ -1016,15 +1013,14 @@ function boolean UsingAArch32() = } /** FUNCTION:shared/functions/system/WaitForEvent */ -function unit WaitForEvent () = not_implemented_extern("WaitForEvent") +function WaitForEvent () -> unit = not_implemented_extern("WaitForEvent") /** FUNCTION:shared/functions/system/WaitForInterrupt */ -function unit WaitForInterrupt () = not_implemented_extern("WaitForInterrupt") +function WaitForInterrupt () -> unit = not_implemented_extern("WaitForInterrupt") /** FUNCTION:shared/translation/translation/PAMax */ -function uinteger PAMax() = -{ - pa_size : uinteger = 0; - match ID_AA64MMFR0_EL1.PARange { +function PAMax() -> range(32,48) = { + pa_size : range(32,48) = 32; + match ID_AA64MMFR0_EL1.PARange() { 0b0000 => pa_size = 32, 0b0001 => pa_size = 36, 0b0010 => pa_size = 40, @@ -1034,15 +1030,15 @@ function uinteger PAMax() = _ => Unreachable() }; - /*return*/ pa_size; + return pa_size; } /** FUNCTION:shared/translation/translation/S1TranslationRegime */ -val S1TranslationRegime : unit -> bits(2) effect {rreg} +val S1TranslationRegime : unit -> bits(2) effect {escape,rreg} function S1TranslationRegime () = { - if PSTATE_EL != EL0 then - PSTATE_EL + if PSTATE_EL() != EL0 then + PSTATE_EL() else if IsSecure() & HaveEL(EL3) & ELUsingAArch32(EL3) then EL3 else diff --git a/aarch64_small/armV8_embed.lem b/aarch64_small/armV8_embed.lem deleted file mode 100644 index b8cd648f..00000000 --- a/aarch64_small/armV8_embed.lem +++ /dev/null @@ -1,5561 +0,0 @@ -(*Generated by Sail from armV8.sail.*) -open import Pervasives_extra -open import Sail_impl_base -open import Prompt -open import Sail_values -open import ArmV8_embed_types -open import ArmV8_extras_embed -let lsl' (n, m) = n * (pow (2:ii) m) - -let not_implemented message = exit message - -let not_implemented_extern message = exit message - -let info message = () - -let UNKNOWN = (0:ii) - -let M32_User = Vector [B1;B0;B0;B0;B0] 4 false - -let M32_FIQ = Vector [B1;B0;B0;B0;B1] 4 false - -let M32_IRQ = Vector [B1;B0;B0;B1;B0] 4 false - -let M32_Svc = Vector [B1;B0;B0;B1;B1] 4 false - -let M32_Monitor = Vector [B1;B0;B1;B1;B0] 4 false - -let M32_Abort = Vector [B1;B0;B1;B1;B1] 4 false - -let M32_Hyp = Vector [B1;B1;B0;B1;B0] 4 false - -let M32_Undef = Vector [B1;B1;B0;B1;B1] 4 false - -let M32_System = Vector [B1;B1;B1;B1;B1] 4 false - -let EL3 = Vector [B1;B1] 1 false - -let EL2 = Vector [B1;B0] 1 false - -let EL1 = Vector [B0;B1] 1 false - -let EL0 = Vector [B0;B0] 1 false - -let DebugHalt_Breakpoint = Vector [B0;B0;B0;B1;B1;B1] 5 false - -let DebugHalt_EDBGRQ = Vector [B0;B1;B0;B0;B1;B1] 5 false - -let DebugHalt_Step_Normal = Vector [B0;B1;B1;B0;B1;B1] 5 false - -let DebugHalt_Step_Exclusive = Vector [B0;B1;B1;B1;B1;B1] 5 false - -let DebugHalt_OSUnlockCatch = Vector [B1;B0;B0;B0;B1;B1] 5 false - -let DebugHalt_ResetCatch = Vector [B1;B0;B0;B1;B1;B1] 5 false - -let DebugHalt_Watchpoint = Vector [B1;B0;B1;B0;B1;B1] 5 false - -let DebugHalt_HaltInstruction = Vector [B1;B0;B1;B1;B1;B1] 5 false - -let DebugHalt_SoftwareAccess = Vector [B1;B1;B0;B0;B1;B1] 5 false - -let DebugHalt_ExceptionCatch = Vector [B1;B1;B0;B1;B1;B1] 5 false - -let DebugHalt_Step_NoSyndrome = Vector [B1;B1;B1;B0;B1;B1] 5 false - -let HighestSetBit x = - let N = length (reset_vector_start (set_vector_start_to_length x)) in - let result = (0:ii) in - let break = B0 in - let (break, result) = - (foreach_dec (N - (1:ii),(0:ii),(1:ii)) (break,result) - (fun i (break,result) -> - let (result, break) = - if bitU_to_bool - ((~break) &. - (eq - (match (access (set_vector_start_to_length x) i) with - | B0 -> (0:ii) - | B1 -> (1:ii) - end, - (1:ii)))) - then - let result = i in - let break = B1 in - (result,break) - else (result,break) in - (break,result))) in - if bitU_to_bool break - then Just result - else Nothing - -let IsZero x = eq_vec_range (set_vector_start_to_length x, (0:ii)) - -let NOT x = - set_vector_start_to_length (bitwise_not (reset_vector_start (set_vector_start_to_length x))) - -let NOT' x = ~x - -let SInt x = signed (reset_vector_start (set_vector_start_to_length x)) - -let UInt x = unsigned (reset_vector_start (set_vector_start_to_length x)) - -let Zeros N' = set_vector_start_to_length (to_vec_dec (N',(0:ii))) - -let BitReverse data = - let N = length (reset_vector_start (set_vector_start_to_length data)) in - let result = set_vector_start_to_length (to_vec_dec (length data,(0:ii))) in - (foreach_inc ((0:ii),N - (1:ii),(1:ii)) result - (fun i result -> - update_pos result ((N - i) - (1:ii)) (access (set_vector_start_to_length data) i))) - -let ELUsingAArch32 el = B0 - -let Hint_Yield () = () - -let SendEvent () = () - -let Unreachable () = assert' B0 (Just "Unreachable reached") - -let UsingAArch32 () = B0 - -let _Rs = - Vector ["R30";"R29";"R28";"R27";"R26";"R25";"R24";"R23";"R22";"R21";"R20";"R19";"R18";"R17";"R16";"R15";"R14";"R13";"R12";"R11";"R10"; - "R9";"R8";"R7";"R6";"R5";"R4";"R3";"R2";"R1";"R0"] 30 false - -let IMPLEMENTATION_DEFINED = - <| IMPLEMENTATION_DEFINED_type_HaveCRCExt = B1; - IMPLEMENTATION_DEFINED_type_HaveAArch32EL = B0; - IMPLEMENTATION_DEFINED_type_HaveAnyAArch32 = B0; - IMPLEMENTATION_DEFINED_type_HaveEL2 = B0; - IMPLEMENTATION_DEFINED_type_HaveEL3 = B0; - IMPLEMENTATION_DEFINED_type_HighestELUsingAArch32 = B0; - IMPLEMENTATION_DEFINED_type_IsSecureBelowEL3 = B0 |> - -let AArch64_ResetControlRegisters cold_reset = () - -let DCPSInstruction target_el = not_implemented "DCPSInstruction" - -let DRPSInstruction () = not_implemented "DRPSInstruction" - -let Halt reason = not_implemented "Halt" - -let Align' (x, y) = y * (quot x y) - -let CountLeadingZeroBits x = - match (HighestSetBit (reset_vector_start (set_vector_start_to_length x))) with - | Nothing -> length (reset_vector_start (set_vector_start_to_length x)) - | Just (n) -> ((length (reset_vector_start (set_vector_start_to_length x))) - (1:ii)) - n - end - -let IsZeroBit x = - if bitU_to_bool (IsZero (reset_vector_start (set_vector_start_to_length x))) - then B1 - else B0 - -let LSL_C (x, shift) = - let extended_x = - set_vector_start_to_length - ((set_vector_start_to_length x) ^^ - (set_vector_start_to_length (set_vector_start_to_length (Zeros shift)))) in - let result = - set_vector_start_to_length - (set_vector_start_to_length - (mask (length x,reset_vector_start (set_vector_start_to_length extended_x)))) in - let carry_out = - access (set_vector_start_to_length extended_x) (length - (reset_vector_start (set_vector_start_to_length - x))) in - (set_vector_start_to_length result,carry_out) - -let Min (a, b) = if bitU_to_bool (lteq (a, b)) then a else b - -let uMin (a, b) = if bitU_to_bool (lteq (a, b)) then a else b - -let Replicate (N', x) = - let (N, M) = - (length (reset_vector_start (set_vector_start_to_length (to_vec_dec (N',(0:ii))))),length - (reset_vector_start (set_vector_start_to_length - (to_vec_dec - (length - x, - (0:ii)))))) in - let _ = assert' (eq_range (modulo N M, (0:ii))) (Nothing) in - let result = set_vector_start_to_length (to_vec_dec (N',(0:ii))) in - let zeros = set_vector_start_to_length (Zeros ((length result) - (length x))) in - (foreach_inc (M,N,M) result - (fun i result -> - set_vector_start_to_length - (bitwise_or - (set_vector_start_to_length (bitwise_leftshift (set_vector_start_to_length result, M)), - set_vector_start_to_length - ((set_vector_start_to_length zeros) ^^ (set_vector_start_to_length x)))))) - -let ZeroExtend (N', x) = - set_vector_start_to_length - ((set_vector_start_to_length - (set_vector_start_to_length (Zeros (N' + ((length x) * ((0-1):ii)))))) ^^ - (set_vector_start_to_length x)) - -let Poly32Mod2 (data, poly) = - let result = set_vector_start_to_length data in - let N = length (reset_vector_start (set_vector_start_to_length data)) in - let _ = assert' (gt (N, (32:ii))) (Nothing) in - let data' = set_vector_start_to_length data in - let zeros = set_vector_start_to_length (Zeros ((length data) - (32:ii))) in - let data' = - (foreach_dec (N - (1:ii),(32:ii),(1:ii)) data' - (fun i data' -> - if bitU_to_bool - (eq - (match (access (set_vector_start_to_length data') i) with - | B0 -> (0:ii) - | B1 -> (1:ii) - end, - (1:ii))) - then - update - data' (i - (1:ii)) (0:ii) - (set_vector_start_to_length - (bitwise_xor - (set_vector_start_to_length - (slice (set_vector_start_to_length data') (i - (1:ii)) (0:ii)), - set_vector_start_to_length - ((set_vector_start_to_length poly) ^^ - (set_vector_start_to_length - (slice (set_vector_start_to_length zeros) (i - (33:ii)) (0:ii))))))) - else data')) in - slice (set_vector_start_to_length data') (31:ii) (0:ii) - -let ClearExclusiveLocal processorid = - info "The model does not implement the exclusive monitors explicitly." - -let ProcessorID () = (0:ii) - -let rec BigEndianReverse value = - let width = length (reset_vector_start (set_vector_start_to_length value)) in - let half = quot width (2:ii) in - if bitU_to_bool (eq_range (width, (8:ii))) - then set_vector_start_to_length value - else - set_vector_start_to_length - ((set_vector_start_to_length - (BigEndianReverse - (reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length value) (half - (1:ii)) (0:ii)))))) ^^ - (set_vector_start_to_length - (BigEndianReverse - (reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length value) (width - (1:ii)) half)))))) - -let ClearEventRegister () = not_implemented_extern "ClearEventRegister" - -let EventRegisterSet () = not_implemented_extern "EventRegisterSet" - -let EventRegistered () = not_implemented_extern "EventRegistered" - -let InterruptPending () = not_implemented_extern "InterruptPending" - -let WaitForEvent () = not_implemented_extern "WaitForEvent" - -let WaitForInterrupt () = not_implemented_extern "WaitForInterrupt" - -let AArch64_SPAlignmentFault () = not_implemented "AArch64_SPAlignmentFault" - -let AArch64_SoftwareBreakpoint immediate = not_implemented "AArch64_SoftwareBreakpoint" - -let AArch64_CallHypervisor immediate = not_implemented "AArch64_CallHypervisor" - -let AArch64_CallSecureMonitor immediate = not_implemented "AArch64_CallSecureMonitor" - -let AArch64_CallSupervisor immediate = not_implemented "AArch64_CallSupervisor" - -let AArch64_SystemRegisterTrap (target_el, op0, op2, op1, crn, rt, crm, dir) = - not_implemented "AArch64_SystemRegisterTrap" - -let AArch64_UndefinedFault () = not_implemented "AArch64_UndefinedFault" - -let rPC () = read_reg _PC - -let AArch64_ExceptionReturn (new_pc, spsr) = not_implemented "AArch64_ExceptionReturn" - -let UInt_reg x = unsigned x - -let signalDBGEN () = not_implemented_extern "signalDBGEN" - -let signelNIDEN () = not_implemented_extern "signalNIDEN" - -let signalSPIDEN () = not_implemented_extern "signalSPIDEN" - -let signalDPNIDEN () = not_implemented_extern "signalSPNIDEN" - -let Halted () = - read_reg_field EDSCR "STATUS" >>= fun w__0 -> - read_reg_field EDSCR "STATUS" >>= fun w__1 -> - return (~((eq_vec - (set_vector_start_to_length w__0, - set_vector_start_to_length (Vector [B0;B0;B0;B0;B0;B1] 5 false))) |. - (eq_vec - (set_vector_start_to_length w__1, - set_vector_start_to_length (Vector [B0;B0;B0;B0;B1;B0] 5 false))))) - -let HaveCRCExt () = IMPLEMENTATION_DEFINED.IMPLEMENTATION_DEFINED_type_HaveCRCExt - -let ExclusiveMonitorsStatus () = - let _ = info "The model does not implement the exclusive monitors explicitly." in - not_implemented "ExclusiveMonitorsStatus should not be called" >> - return B0 - -let Hint_Branch hint = - info "This hint can be used for hardware optimization that has no effect on the model." - -let ResetExternalDebugRegisters b = not_implemented_extern "ResetExternalDebugRegisters" - -let HaveAnyAArch32 () = IMPLEMENTATION_DEFINED.IMPLEMENTATION_DEFINED_type_HaveAnyAArch32 - -let AArch64_WFxTrap (target_el, is_wfe) = not_implemented "AArch64_WFxTrap" - -let AArch64_CheckUnallocatedSystemAccess (op0, op1, crn, crm, op2, read) = - match (op0,op1,crn,crm,op2,read) with - | (Vector [B0;B0] _ _, Vector [B0;B0;B0] _ _, Vector [B0;B1;B0;B0] _ _, _, Vector [B1;B0;B1] _ _, _) -> - read_reg_field CurrentEL "EL" >>= fun w__0 -> - return (lt_vec (set_vector_start_to_length w__0, set_vector_start_to_length EL1)) - | (Vector [B0;B0] _ _, Vector [B0;B1;B1] _ _, Vector [B0;B1;B0;B0] _ _, _, Vector [B1;B1;B0] _ _, _) -> - return B0 - | (Vector [B0;B0] _ _, Vector [B0;B1;B1] _ _, Vector [B0;B1;B0;B0] _ _, _, Vector [B1;B1;B1] _ _, _) -> - return B0 - | (Vector [B1;B1] _ _, Vector [B0;B1;B1] _ _, Vector [B0;B1;B0;B0] _ _, Vector [B0;B0;B1;B0] _ _, Vector [B0;B0;B0] _ _, _) -> - return B0 - | (Vector [B1;B1] _ _, Vector [B0;B1;B1] _ _, Vector [B0;B1;B0;B0] _ _, Vector [B0;B0;B1;B0] _ _, Vector [B0;B0;B1] _ _, _) -> - return B0 - end - -let SysOp_R (op0, op1, crn, crm, op2) = - not_implemented "SysOp_R" >> - return (to_vec_dec ((64:ii),(0:ii))) - -let SysOp_W (op0, op1, crn, crm, op2, _val) = not_implemented "SysOp_W" - -let TxNestingLevelfp = RFull "TxNestingLevel" - -let TXIDR_EL0_DEPTHfp = RField ("TXIDR_EL0","DEPTH") - -let PSTATE_Nfp = RField ("NZCV","N") - -let PSTATE_Zfp = RField ("NZCV","Z") - -let PSTATE_Cfp = RField ("NZCV","C") - -let PSTATE_Vfp = RField ("NZCV","V") - -let PSTATE_Dfp = RField ("DAIF","D") - -let PSTATE_Afp = RField ("DAIF","A") - -let PSTATE_Ifp = RField ("DAIF","I") - -let PSTATE_Ffp = RField ("DAIF","F") - -let PSTATE_ELfp = RFull "CurrentEL" - -let PSTATE_SPfp = RField ("SPSel","SP") - -let _PCfp = RFull "_PC" - -let Hint_Prefetch (addr, hint, target, stream) = () - -let AArch64_IsExclusiveVA (address, processorid, size) = - let _ = info "The model does not implement the exclusive monitors explicitly." in - B1 - -let AArch64_MarkExclusiveVA (address, processorid, size) = - info "The model does not implement the exclusive monitors explicitly." - -let wPSTATE_NZCV ((), Vector [n;z;c;v] _ _) = - write_reg_bitfield NZCV "N" n >> - write_reg_bitfield NZCV "Z" z >> - write_reg_bitfield NZCV "C" c >> - write_reg_bitfield NZCV "V" v - -let wPSTATE_DAIF ((), Vector [d;a;i;f] _ _) = - write_reg_bitfield DAIF "D" d >> - write_reg_bitfield DAIF "A" a >> - write_reg_bitfield DAIF "I" i >> - write_reg_bitfield DAIF "F" f - -let Int (x, unsigned) = - if bitU_to_bool unsigned - then UInt (reset_vector_start (set_vector_start_to_length x)) - else SInt (reset_vector_start (set_vector_start_to_length x)) - -let ClearExclusiveByAddress (paddress, processorid, size) = - info "The model does not implement the exclusive monitors explicitly." - -let IsExclusiveGlobal (paddress, processorid, size) = - let _ = info "The model does not implement the exclusive monitors explicitly." in - B1 - -let IsExclusiveLocal (paddress, processorid, size) = - let _ = info "The model does not implement the exclusive monitors explicitly." in - B1 - -let MarkExclusiveGlobal (paddress, processorid, size) = - info "The model does not implement the exclusive monitors explicitly." - -let MarkExclusiveLocal (paddress, processorid, size) = - info "The model does not implement the exclusive monitors explicitly." - -let PAMax () = - let pa_size = (0:ii) in - read_reg_field ID_AA64MMFR0_EL1 "PARange" >>= fun w__0 -> - let pa_size = - match w__0 with - | Vector [B0;B0;B0;B0] _ _ -> (32:ii) - | Vector [B0;B0;B0;B1] _ _ -> (36:ii) - | Vector [B0;B0;B1;B0] _ _ -> (40:ii) - | Vector [B0;B0;B1;B1] _ _ -> (42:ii) - | Vector [B0;B1;B0;B0] _ _ -> (44:ii) - | Vector [B0;B1;B0;B1] _ _ -> (48:ii) - | _ -> pa_size - end in - return pa_size - -let AddWithCarry (x, y, carry_in) = - let unsigned_sum = - ((UInt (reset_vector_start (set_vector_start_to_length x))) + - (UInt (reset_vector_start (set_vector_start_to_length y)))) + - (UInt (reset_vector_start (set_vector_start_to_length (Vector [carry_in] 0 false)))) in - let signed_sum = - ((SInt (reset_vector_start (set_vector_start_to_length x))) + - (SInt (reset_vector_start (set_vector_start_to_length y)))) + - (UInt (reset_vector_start (set_vector_start_to_length (Vector [carry_in] 0 false)))) in - let result = set_vector_start_to_length (to_vec_dec (length x,unsigned_sum)) in - let n = - access (set_vector_start_to_length result) ((length - (reset_vector_start (set_vector_start_to_length - result))) - (1:ii)) in - let z = - if bitU_to_bool (IsZero (reset_vector_start (set_vector_start_to_length result))) - then B1 - else B0 in - let c = - if bitU_to_bool - (eq_range (UInt (reset_vector_start (set_vector_start_to_length result)), unsigned_sum)) - then B0 - else B1 in - let v = - if bitU_to_bool - (eq_range (SInt (reset_vector_start (set_vector_start_to_length result)), signed_sum)) - then B0 - else B1 in - (set_vector_start_to_length result,set_vector_start 3 - ((set_vector_start_to_length (Vector [n] 0 false)) ^^ - (set_vector_start_to_length - ((set_vector_start_to_length (Vector [z] 0 false)) ^^ - (set_vector_start_to_length - ((set_vector_start_to_length (Vector [c] 0 false)) ^^ - (set_vector_start_to_length (Vector [v] 0 false)))))))) - -let ConditionHolds _cond = - let result = B0 in - match (slice _cond (3:ii) (1:ii)) with - | Vector [B0;B0;B0] _ _ -> - read_reg_bitfield NZCV "Z" >>= fun w__0 -> - let result = eq (match w__0 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - return result - | Vector [B0;B0;B1] _ _ -> - read_reg_bitfield NZCV "C" >>= fun w__1 -> - let result = eq (match w__1 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - return result - | Vector [B0;B1;B0] _ _ -> - read_reg_bitfield NZCV "N" >>= fun w__2 -> - let result = eq (match w__2 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - return result - | Vector [B0;B1;B1] _ _ -> - read_reg_bitfield NZCV "V" >>= fun w__3 -> - let result = eq (match w__3 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - return result - | Vector [B1;B0;B0] _ _ -> - read_reg_bitfield NZCV "C" >>= fun w__4 -> - read_reg_bitfield NZCV "Z" >>= fun w__5 -> - let result = - (eq (match w__4 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) &. - (eq (match w__5 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) in - return result - | Vector [B1;B0;B1] _ _ -> - read_reg_bitfield NZCV "N" >>= fun w__6 -> - read_reg_bitfield NZCV "V" >>= fun w__7 -> - let result = eq_bit (w__6, w__7) in - return result - | Vector [B1;B1;B0] _ _ -> - read_reg_bitfield NZCV "N" >>= fun w__8 -> - read_reg_bitfield NZCV "V" >>= fun w__9 -> - read_reg_bitfield NZCV "Z" >>= fun w__10 -> - let result = - (eq_bit (w__8, w__9)) &. (eq (match w__10 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) in - return result - | Vector [B1;B1;B1] _ _ -> return B1 - end >>= fun result -> - let result = - if bitU_to_bool - ((eq (match (access _cond (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) &. - (neq_vec - (set_vector_start_to_length _cond, - set_vector_start_to_length (Vector [B1;B1;B1;B1] 3 false)))) - then ~result - else result in - return result - -let DecodeShift op = - match toNatural (unsigned (reset_vector_start op)) with - | (0:nn) -> ShiftType_LSL - | (1:nn) -> ShiftType_LSR - | (2:nn) -> ShiftType_ASR - | (3:nn) -> ShiftType_ROR - end - -let HaveEL el = - if bitU_to_bool - ((eq_vec (set_vector_start_to_length el, set_vector_start_to_length EL1)) |. - (eq_vec (set_vector_start_to_length el, set_vector_start_to_length EL0))) - then B1 - else - if bitU_to_bool (eq_vec (set_vector_start_to_length el, set_vector_start_to_length EL2)) - then IMPLEMENTATION_DEFINED.IMPLEMENTATION_DEFINED_type_HaveEL2 - else - if bitU_to_bool (eq_vec (set_vector_start_to_length el, set_vector_start_to_length EL3)) - then IMPLEMENTATION_DEFINED.IMPLEMENTATION_DEFINED_type_HaveEL3 - else - let _ = assert' B0 (Nothing) in - B0 - -let System_Put (op0, op1, crn, crm, op2, _val) = - match toNaturalFiveTup (op0,op1,crn,crm,op2) with - | ((3:nn), (3:nn), (4:nn), (2:nn), (0:nn)) -> write_reg NZCV (slice _val (31:ii) (0:ii)) - | ((3:nn), (3:nn), (4:nn), (2:nn), (1:nn)) -> write_reg DAIF (slice _val (31:ii) (0:ii)) - | ((3:nn), (3:nn), (13:nn), (0:nn), (2:nn)) -> write_reg TPIDR_EL0 (slice _val (63:ii) (0:ii)) - end - -let DataSynchronizationBarrier (domain, types) = - (if bitU_to_bool (neq (domain, MBReqDomain_FullSystem)) - then not_implemented "DataSynchronizationBarrier: not MBReqDomain_FullSystem" - else return ()) >> - match types with - | MBReqTypes_Reads -> DataSynchronizationBarrier_Reads () - | MBReqTypes_Writes -> DataSynchronizationBarrier_Writes () - | MBReqTypes_All -> DataSynchronizationBarrier_All () - end - -let rELR el = - let r = to_vec_dec ((64:ii),(0:ii)) in - if bitU_to_bool (eq_vec (set_vector_start_to_length el, set_vector_start_to_length EL1)) - then read_reg ELR_EL1 - else - if bitU_to_bool (eq_vec (set_vector_start_to_length el, set_vector_start_to_length EL2)) - then read_reg ELR_EL2 - else - if bitU_to_bool (eq_vec (set_vector_start_to_length el, set_vector_start_to_length EL3)) - then read_reg ELR_EL3 - else return r - -let DataMemoryBarrier (domain, types) = - (if bitU_to_bool - ((neq (domain, MBReqDomain_FullSystem)) &. (neq (domain, MBReqDomain_InnerShareable))) - then not_implemented "DataMemoryBarrier: not MBReqDomain_FullSystem or _InnerShareable" - else return ()) >> - match types with - | MBReqTypes_Reads -> DataMemoryBarrier_Reads () - | MBReqTypes_Writes -> DataMemoryBarrier_Writes () - | MBReqTypes_All -> DataMemoryBarrier_All () - end - -let wMem_Addr (address, size, acctype, excl) = - match (excl,acctype) with - | (B0, AccType_NORMAL) -> wMem_Addr_NORMAL (reset_vector_start address,size) - | (B0, AccType_STREAM) -> wMem_Addr_NORMAL (reset_vector_start address,size) - | (B0, AccType_UNPRIV) -> wMem_Addr_NORMAL (reset_vector_start address,size) - | (B0, AccType_ORDERED) -> wMem_Addr_ORDERED (reset_vector_start address,size) - | (B1, AccType_ATOMIC) -> wMem_Addr_ATOMIC (reset_vector_start address,size) - | (B1, AccType_ORDERED) -> wMem_Addr_ATOMIC_ORDERED (reset_vector_start address,size) - | _ -> not_implemented "unrecognised memory access" - end - -let SCTLR regime = - if bitU_to_bool (eq_vec (set_vector_start_to_length regime, set_vector_start_to_length EL1)) - then SCTLR_EL1 - else - if bitU_to_bool (eq_vec (set_vector_start_to_length regime, set_vector_start_to_length EL2)) - then SCTLR_EL2 - else - if bitU_to_bool (eq_vec (set_vector_start_to_length regime, set_vector_start_to_length EL3)) - then SCTLR_EL3 - else - let _ = assert' B0 (Just "SCTLR_type unreachable") in - SCTLR_EL1 - -let DecodeRegExtend op = - match op with - | Vector [B0;B0;B0] _ _ -> ExtendType_UXTB - | Vector [B0;B0;B1] _ _ -> ExtendType_UXTH - | Vector [B0;B1;B0] _ _ -> ExtendType_UXTW - | Vector [B0;B1;B1] _ _ -> ExtendType_UXTX - | Vector [B1;B0;B0] _ _ -> ExtendType_SXTB - | Vector [B1;B0;B1] _ _ -> ExtendType_SXTH - | Vector [B1;B1;B0] _ _ -> ExtendType_SXTW - | Vector [B1;B1;B1] _ _ -> ExtendType_SXTX - end - -let rSP N' = - read_reg_bitfield SPSel "SP" >>= fun w__0 -> - if bitU_to_bool (eq (match w__0 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) - then - read_reg SP_EL0 >>= fun w__1 -> - return (set_vector_start_to_length (mask (N',w__1))) - else - read_reg_field CurrentEL "EL" >>= fun pstate_el -> - if bitU_to_bool (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL0)) - then - read_reg SP_EL0 >>= fun w__2 -> - return (set_vector_start_to_length (mask (N',w__2))) - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL1)) - then - read_reg SP_EL1 >>= fun w__3 -> - return (set_vector_start_to_length (mask (N',w__3))) - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL2)) - then - read_reg SP_EL2 >>= fun w__4 -> - return (set_vector_start_to_length (mask (N',w__4))) - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL3)) - then - read_reg SP_EL3 >>= fun w__5 -> - return (set_vector_start_to_length (mask (N',w__5))) - else - let _ = assert' B0 (Nothing) in - read_reg SP_EL3 >>= fun w__6 -> - return (set_vector_start_to_length (mask (N',w__6))) - -let rSPSR () = - let result = to_vec_dec ((32:ii),(0:ii)) in - if bitU_to_bool (UsingAArch32 ()) - then - not_implemented "rSPSR UsingAArch32" >> - return result - else - read_reg_field CurrentEL "EL" >>= fun pstate_el -> - if bitU_to_bool (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL1)) - then read_reg SPSR_EL1 - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL2)) - then read_reg SPSR_EL2 - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL3)) - then read_reg SPSR_EL3 - else return result - -let _R = - Vector [UndefinedRegister 0;R30;R29;R28;R27;R26;R25;R24;R23;R22;R21;R20;R19;R18;R17;R16;R15;R14;R13;R12;R11; - R10;R9;R8;R7;R6;R5;R4;R3;R2;R1;R0] 31 false - -let _V = - Vector [UndefinedRegister 0;V31;V30;V29;V28;V27;V26;V25;V24;V23;V22;V21;V20;V19;V18;V17;V16;V15;V14;V13;V12; - V11;V10;V9;V8;V7;V6;V5;V4;V3;V2;V1;V0] 32 false - -let ReservedValue () = AArch64_UndefinedFault () - -let UnallocatedEncoding () = AArch64_UndefinedFault () - -let CountLeadingSignBits x = - CountLeadingZeroBits - (reset_vector_start (set_vector_start_to_length - (bitwise_xor - (set_vector_start_to_length - (slice (set_vector_start_to_length x) - ((length (reset_vector_start (set_vector_start_to_length x))) - (1:ii)) (1:ii)), - set_vector_start_to_length - (slice (set_vector_start_to_length x) - ((length (reset_vector_start (set_vector_start_to_length x))) - (2:ii)) (0:ii)))))) - -let LSR_C (x, shift) = - let extended_x = - set_vector_start_to_length - (ZeroExtend ((length x) + shift,reset_vector_start (set_vector_start_to_length x))) in - let result = - set_vector_start_to_length - (slice (set_vector_start_to_length extended_x) - ((shift + (length (reset_vector_start (set_vector_start_to_length x)))) - (1:ii)) shift) in - let carry_out = access (set_vector_start_to_length extended_x) (shift - (1:ii)) in - (set_vector_start_to_length result,carry_out) - -let Ones N' = - set_vector_start_to_length - (Replicate (N',reset_vector_start (set_vector_start_to_length (Vector [B1] 0 false)))) - -let SignExtend (N', ((Vector (h::_) _ _) as x)) = - let remainder = slice_raw x (1:ii) ((length (reset_vector_start x)) - (1:ii)) in - set_vector_start_to_length - ((set_vector_start_to_length - (set_vector_start_to_length - (Replicate - (N' - (length x), - reset_vector_start (set_vector_start_to_length (Vector [h] 0 false)))))) ^^ - (set_vector_start_to_length x)) - -let supported_instructions instr = match instr with | _ -> Just instr end - -let LSL (x, shift) = - let result = set_vector_start_to_length (to_vec_dec (length x,(0:ii))) in - if bitU_to_bool (eq_range (shift, (0:ii))) - then set_vector_start_to_length x - else - let (result', _) = - match (LSL_C (reset_vector_start (set_vector_start_to_length x),shift)) with - | (v0v', v1v') -> (v0v',v1v') - end in - set_vector_start_to_length result' - -let ThisInstrAddr N' = - let N = length (reset_vector_start (set_vector_start_to_length (to_vec_dec (N',(0:ii))))) in - let _ = - assert' ((eq_range (N, (64:ii))) |. ((eq_range (N, (32:ii))) &. (UsingAArch32 ()))) (Nothing) in - rPC () >>= fun w__0 -> - return (set_vector_start_to_length - (mask (N',reset_vector_start (set_vector_start_to_length w__0)))) - -let AArch64_Abort (vaddress, fault) = not_implemented "AArch64_Abort" - -let rV (N', n) = - read_reg (access _V n) >>= fun w__0 -> - return (set_vector_start_to_length - (mask (N',reset_vector_start (set_vector_start_to_length w__0)))) - -let rVpart (N', n, part) = - if bitU_to_bool (eq_range (part, (0:ii))) - then - read_reg (access _V n) >>= fun w__0 -> - return (set_vector_start_to_length - (set_vector_start_to_length (mask (N',reset_vector_start (set_vector_start_to_length w__0))))) - else - let _ = - assert' (eq_range - (length (reset_vector_start (set_vector_start_to_length (to_vec_dec (N',(0:ii))))), - (64:ii))) (Nothing) in - read_reg_range (access _V n) (127:ii) (64:ii) >>= fun w__1 -> - return (set_vector_start_to_length (set_vector_start 63 w__1)) - -let ExternalInvasiveDebugEnabled () = - signalDBGEN () >>= fun w__0 -> - return (eq (w__0, HIGH)) - -let Align (x, y) = - set_vector_start_to_length - (to_vec_dec (length x,Align' (UInt (reset_vector_start (set_vector_start_to_length x)),y))) - -let empty_read_buffer = - <| read_buffer_type_size = (0:ii); - read_buffer_type_acctype = AccType_NORMAL; - read_buffer_type_exclusive = B0; - read_buffer_type_address = (to_vec_dec ((64:ii),(0:ii))) |> - -let empty_write_buffer = - <| write_buffer_type_size = (0:ii); - write_buffer_type_acctype = AccType_NORMAL; - write_buffer_type_exclusive = B0; - write_buffer_type_address = (to_vec_dec ((64:ii),(0:ii))); - write_buffer_type_value = (to_vec_dec ((128:ii),(0:ii))) |> - -let HighestELUsingAArch32 () = - if bitU_to_bool (~(HaveAnyAArch32 ())) - then B0 - else IMPLEMENTATION_DEFINED.IMPLEMENTATION_DEFINED_type_HighestELUsingAArch32 - -let rX (N', n) = - if bitU_to_bool (neq_range (n, (31:ii))) - then - read_reg (access _R n) >>= fun w__0 -> - return (set_vector_start_to_length - (mask (N',reset_vector_start (set_vector_start_to_length w__0)))) - else return (set_vector_start_to_length (Zeros N')) - -let rELR' () = - read_reg_field CurrentEL "EL" >>= fun w__0 -> - let _ = - assert' (neq_vec (set_vector_start_to_length w__0, set_vector_start_to_length EL0)) (Nothing) in - read_reg_field CurrentEL "EL" >>= fun w__1 -> - rELR (reset_vector_start (set_vector_start 1 w__1)) - -let rSPIFP = [RFull "SP_EL0";PSTATE_SPfp] - -let wSPFP = ([PSTATE_SPfp],[RFull "SP_EL0"]) - -let xFP n = if bitU_to_bool (neq_range (n, (31:ii))) then [RFull (access _Rs n)] else [] - -let BigEndianIFP = if bitU_to_bool (UsingAArch32 ()) then [RFull "PSTATE_E"] else [PSTATE_ELfp] - -let flush_write_buffer_exclusive write_buffer = - let _ = assert' write_buffer.write_buffer_type_exclusive (Nothing) in - match write_buffer.write_buffer_type_acctype with - | AccType_ATOMIC -> - wMem_Val_ATOMIC - (write_buffer.write_buffer_type_size, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length write_buffer.write_buffer_type_value) - ((write_buffer.write_buffer_type_size * (8:ii)) - (1:ii)) (0:ii)))) - | AccType_ORDERED -> - wMem_Val_ATOMIC - (write_buffer.write_buffer_type_size, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length write_buffer.write_buffer_type_value) - ((write_buffer.write_buffer_type_size * (8:ii)) - (1:ii)) (0:ii)))) - | _ -> - not_implemented "unrecognised memory access" >> - return B0 - end - -let AArch64_CreateFaultRecord (type', ipaddress, level, acctype, write, extflag, secondstage, s2fs1walk) = - <| FaultRecord_type' = type'; - FaultRecord_domain = (to_vec_dec ((4:ii),UNKNOWN)); - FaultRecord_debugmoe = (to_vec_dec ((4:ii),UNKNOWN)); - FaultRecord_ipaddress = ipaddress; - FaultRecord_level = level; - FaultRecord_acctype = acctype; - FaultRecord_write = write; - FaultRecord_extflag = extflag; - FaultRecord_secondstage = secondstage; - FaultRecord_s2fs1walk = s2fs1walk |> - -let flush_write_buffer write_buffer = - let _ = assert' (eq_bit (write_buffer.write_buffer_type_exclusive, B0)) (Nothing) in - match write_buffer.write_buffer_type_acctype with - | AccType_NORMAL -> - wMem_Val_NORMAL - (write_buffer.write_buffer_type_size, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length write_buffer.write_buffer_type_value) - ((write_buffer.write_buffer_type_size * (8:ii)) - (1:ii)) (0:ii)))) - | AccType_STREAM -> - wMem_Val_NORMAL - (write_buffer.write_buffer_type_size, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length write_buffer.write_buffer_type_value) - ((write_buffer.write_buffer_type_size * (8:ii)) - (1:ii)) (0:ii)))) - | AccType_UNPRIV -> - wMem_Val_NORMAL - (write_buffer.write_buffer_type_size, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length write_buffer.write_buffer_type_value) - ((write_buffer.write_buffer_type_size * (8:ii)) - (1:ii)) (0:ii)))) - | AccType_ORDERED -> - wMem_Val_NORMAL - (write_buffer.write_buffer_type_size, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length write_buffer.write_buffer_type_value) - ((write_buffer.write_buffer_type_size * (8:ii)) - (1:ii)) (0:ii)))) - | _ -> not_implemented "unrecognised memory access" - end - -let System_Get (op0, op1, crn, crm, op2) = - match toNaturalFiveTup (op0,op1,crn,crm,op2) with - | ((3:nn), (3:nn), (4:nn), (2:nn), (0:nn)) -> - read_reg NZCV >>= fun w__0 -> - return (ZeroExtend ((64:ii),w__0)) - | ((3:nn), (3:nn), (4:nn), (2:nn), (1:nn)) -> - read_reg DAIF >>= fun w__1 -> - return (ZeroExtend ((64:ii),w__1)) - | ((3:nn), (3:nn), (13:nn), (0:nn), (2:nn)) -> read_reg TPIDR_EL0 - end - -let Prefetch (address, prfop) = - let hint = - match toNatural (0:ii) with - | (0:nn) -> Prefetch_READ - | (1:nn) -> Prefetch_WRITE - | (2:nn) -> Prefetch_EXEC - end in - let target = (0:ii) in - let stream = B0 in - let returnv = B0 in - let (returnv, hint) = - match (slice prfop (4:ii) (3:ii)) with - | Vector [B0;B0] _ _ -> - let hint = Prefetch_READ in - (returnv,hint) - | Vector [B0;B1] _ _ -> - let hint = Prefetch_EXEC in - (returnv,hint) - | Vector [B1;B0] _ _ -> - let hint = Prefetch_WRITE in - (returnv,hint) - | Vector [B1;B1] _ _ -> - let returnv = B1 in - (returnv,hint) - end in - let (target, stream) = - if bitU_to_bool (~returnv) - then - let target = unsigned (reset_vector_start (slice prfop (2:ii) (1:ii))) in - let stream = neq (match (access prfop (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)) in - (target,stream) - else (target,stream) in - () - -let DoubleLockStatus () = - if bitU_to_bool (ELUsingAArch32 (reset_vector_start EL1)) - then - read_reg_bitfield DBGOSDLR "DLK" >>= fun w__0 -> - read_reg_bitfield DBGPRCR "CORENPDRQ" >>= fun w__1 -> - Halted () >>= fun w__2 -> - return ((eq (match w__0 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) &. - ((eq (match w__1 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) &. (~w__2))) - else - read_reg_bitfield OSDLR_EL1 "DLK" >>= fun w__3 -> - read_reg_bitfield DBGPRCR_EL1 "CORENPDRQ" >>= fun w__4 -> - Halted () >>= fun w__5 -> - return ((eq (match w__3 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) &. - ((eq (match w__4 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) &. (~w__5))) - -let wSP ((), value) = - read_reg_bitfield SPSel "SP" >>= fun w__0 -> - if bitU_to_bool (eq (match w__0 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) - then write_reg SP_EL0 (ZeroExtend ((64:ii),reset_vector_start (set_vector_start_to_length value))) - else - read_reg_field CurrentEL "EL" >>= fun pstate_el -> - if bitU_to_bool (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL0)) - then - write_reg SP_EL0 (ZeroExtend ((64:ii),reset_vector_start (set_vector_start_to_length value))) - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL1)) - then - write_reg - SP_EL1 - (ZeroExtend ((64:ii),reset_vector_start (set_vector_start_to_length value))) - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL2)) - then - write_reg - SP_EL2 - (ZeroExtend ((64:ii),reset_vector_start (set_vector_start_to_length value))) - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL3)) - then - write_reg - SP_EL3 - (ZeroExtend ((64:ii),reset_vector_start (set_vector_start_to_length value))) - else return (assert' B0 (Nothing)) - -let decodeTMCommit () = Just (TMCommit) - -let decodeTMTest () = Just (TMTest) - -let decodeTMAbort ((Vector [R;_;_;_;_;_] _ _) as v__975) = - let imm5 = slice_raw v__975 (1:ii) (5:ii) in - Just (TMAbort (R,reset_vector_start imm5)) - -let wV (n, value) = - write_reg - (access _V n) - (ZeroExtend ((128:ii),reset_vector_start (set_vector_start_to_length value))) - -let wVpart (n, part, value) = - if bitU_to_bool (eq_range (part, (0:ii))) - then - write_reg - (access _V n) - (ZeroExtend ((128:ii),reset_vector_start (set_vector_start_to_length value))) - else - let _ = - assert' (eq_range - (length - (reset_vector_start (set_vector_start_to_length - (to_vec_dec (length value,(0:ii))))), - (64:ii))) (Nothing) in - write_reg_range (access _V n) (127:ii) (64:ii) (set_vector_start 127 value) - -let wX (n, value) = - if bitU_to_bool (neq_range (n, (31:ii))) - then - write_reg - (access _R n) - (ZeroExtend ((64:ii),reset_vector_start (set_vector_start_to_length value))) - else return () - -let decodeAdvSIMDLoadStoreMultiStruct machineCode = - not_implemented "decodeAdvSIMDLoadStoreMultiStruct" >> - return (Just (Unallocated)) - -let decodeAdvSIMDLoadStoreMultiStructPostIndexed machineCode = - not_implemented "decodeAdvSIMDLoadStoreMultiStructPostIndexed" >> - return (Just (Unallocated)) - -let decodeAdvSIMDLoadStoreSingleStruct machineCode = - not_implemented "decodeAdvSIMDLoadStoreSingleStruct" >> - return (Just (Unallocated)) - -let decodeAdvSIMDLoadStoreSingleStructPostIndexed machineCode = - not_implemented "decodeAdvSIMDLoadStoreSingleStructPostIndexed" >> - return (Just (Unallocated)) - -let decodeDataSIMDFPoint1 machineCode = - not_implemented "decodeDataSIMDFPoint1" >> - return (Just (Unallocated)) - -let decodeDataSIMDFPoint2 machineCode = - not_implemented "decodeDataSIMDFPoint2" >> - return (Just (Unallocated)) - -let AArch64_CheckForWFxTrap (target_el, is_wfe) = - let _ = assert' (HaveEL (reset_vector_start target_el)) (Nothing) in - let trap = B0 in - (if bitU_to_bool (eq_vec (set_vector_start_to_length target_el, set_vector_start_to_length EL1)) - then - (if bitU_to_bool is_wfe - then - read_reg_bitfield SCTLR_EL1 "nTWE" >>= fun w__0 -> - return (match w__0 with | B0 -> (0:ii) | B1 -> (1:ii) end) - else - read_reg_bitfield SCTLR_EL1 "nTWI" >>= fun w__1 -> - return (match w__1 with | B0 -> (0:ii) | B1 -> (1:ii) end)) >>= fun w__2 -> - let trap = eq (w__2, (0:ii)) in - return trap - else - if bitU_to_bool (eq_vec (set_vector_start_to_length target_el, set_vector_start_to_length EL2)) - then - (if bitU_to_bool is_wfe - then - read_reg_bitfield HCR_EL2 "TWE" >>= fun w__3 -> - return (match w__3 with | B0 -> (0:ii) | B1 -> (1:ii) end) - else - read_reg_bitfield HCR_EL2 "TWI" >>= fun w__4 -> - return (match w__4 with | B0 -> (0:ii) | B1 -> (1:ii) end)) >>= fun w__5 -> - let trap = eq (w__5, (1:ii)) in - return trap - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length target_el, set_vector_start_to_length EL3)) - then - (if bitU_to_bool is_wfe - then - read_reg_bitfield SCR_EL3 "TWE" >>= fun w__6 -> - return (match w__6 with | B0 -> (0:ii) | B1 -> (1:ii) end) - else - read_reg_bitfield SCR_EL3 "TWI" >>= fun w__7 -> - return (match w__7 with | B0 -> (0:ii) | B1 -> (1:ii) end)) >>= fun w__8 -> - let trap = eq (w__8, (1:ii)) in - return trap - else - let _ = assert' B0 (Nothing) in - return trap) >>= fun trap -> - if bitU_to_bool trap - then AArch64_WFxTrap (reset_vector_start target_el,is_wfe) - else return () - -let wmem_kind (acctype, exclusive) = - if bitU_to_bool exclusive - then - match acctype with - | AccType_ATOMIC -> return (IK_mem_write Write_exclusive) - | AccType_ORDERED -> return (IK_mem_write Write_exclusive_release) - | _ -> - not_implemented "unimplemented memory access" >> - return (IK_mem_write Write_exclusive) - end - else - match acctype with - | AccType_NORMAL -> return (IK_mem_write Write_plain) - | AccType_STREAM -> return (IK_mem_write Write_plain) - | AccType_UNPRIV -> return (IK_mem_write Write_plain) - | AccType_ORDERED -> return (IK_mem_write Write_release) - | _ -> - not_implemented "unimplemented memory access" >> - return (IK_mem_write Write_plain) - end - -let BranchTo (target, branch_type) = - let target' = set_vector_start_to_length target in - let _ = Hint_Branch branch_type in - (if bitU_to_bool - (eq_range (length (reset_vector_start (set_vector_start_to_length target)), (32:ii))) - then - let _ = assert' (UsingAArch32 ()) (Nothing) in - write_reg _PC (ZeroExtend ((64:ii),reset_vector_start (set_vector_start_to_length target))) >> - return target' - else - let _ = - assert' ((eq_range (length (reset_vector_start (set_vector_start_to_length target)), (64:ii))) &. - (~(UsingAArch32 ()))) (Nothing) in - read_reg_field CurrentEL "EL" >>= fun pstate_el -> - (if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL0)) - then - read_reg_bitfield TCR_EL1 "TBI1" >>= fun w__0 -> - let target' = - if bitU_to_bool - ((eq - (match (access (set_vector_start_to_length target') (55:ii)) with - | B0 -> (0:ii) - | B1 -> (1:ii) - end, - (1:ii))) &. (eq (match w__0 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then - update - target' (63:ii) (56:ii) - (set_vector_start 63 (Vector [B1;B1;B1;B1;B1;B1;B1;B1] 7 false)) - else target' in - read_reg_bitfield TCR_EL1 "TBI0" >>= fun w__1 -> - let target' = - if bitU_to_bool - ((eq - (match (access (set_vector_start_to_length target') (55:ii)) with - | B0 -> (0:ii) - | B1 -> (1:ii) - end, - (0:ii))) &. (eq (match w__1 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then - update - target' (63:ii) (56:ii) - (set_vector_start 63 (Vector [B0;B0;B0;B0;B0;B0;B0;B0] 7 false)) - else target' in - return target' - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL1)) - then - read_reg_bitfield TCR_EL1 "TBI1" >>= fun w__2 -> - let target' = - if bitU_to_bool - ((eq - (match (access (set_vector_start_to_length target') (55:ii)) with - | B0 -> (0:ii) - | B1 -> (1:ii) - end, - (1:ii))) &. (eq (match w__2 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then - update - target' (63:ii) (56:ii) - (set_vector_start 63 (Vector [B1;B1;B1;B1;B1;B1;B1;B1] 7 false)) - else target' in - read_reg_bitfield TCR_EL1 "TBI0" >>= fun w__3 -> - let target' = - if bitU_to_bool - ((eq - (match (access (set_vector_start_to_length target') (55:ii)) with - | B0 -> (0:ii) - | B1 -> (1:ii) - end, - (0:ii))) &. (eq (match w__3 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then - update - target' (63:ii) (56:ii) - (set_vector_start 63 (Vector [B0;B0;B0;B0;B0;B0;B0;B0] 7 false)) - else target' in - return target' - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL2)) - then - read_reg_bitfield TCR_EL2 "TBI" >>= fun w__4 -> - let target' = - if bitU_to_bool (eq (match w__4 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then - update - target' (63:ii) (56:ii) - (set_vector_start 63 (Vector [B0;B0;B0;B0;B0;B0;B0;B0] 7 false)) - else target' in - return target' - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL3)) - then - read_reg_bitfield TCR_EL3 "TBI" >>= fun w__5 -> - let target' = - if bitU_to_bool (eq (match w__5 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then - update - target' (63:ii) (56:ii) - (set_vector_start 63 (Vector [B0;B0;B0;B0;B0;B0;B0;B0] 7 false)) - else target' in - return target' - else return target') >>= fun target' -> - write_reg _PC target' >> - return target') >>= fun target' -> - return () - -let rmem_kind (acctype, exclusive) = - if bitU_to_bool exclusive - then - match acctype with - | AccType_ATOMIC -> return (IK_mem_read Read_exclusive) - | AccType_ORDERED -> return (IK_mem_read Read_exclusive_acquire) - | _ -> - not_implemented "unimplemented memory access" >> - return (IK_mem_read Read_exclusive) - end - else - return (match acctype with - | AccType_NORMAL -> IK_mem_read Read_plain - | AccType_ATOMIC -> IK_mem_read Read_plain - | AccType_STREAM -> IK_mem_read Read_stream - | AccType_UNPRIV -> IK_mem_read Read_plain - | AccType_ORDERED -> IK_mem_read Read_acquire - end) - -let decodeTMStart Rt = - let t = UInt_reg (reset_vector_start Rt) in - Just (TMStart t) - -let decodeAddSubtractWithCarry ((Vector [sf;op;S;B1;B1;B0;B1;B0;B0;B0;B0;_;_;_;_;_;B0;B0;B0;B0;B0;B0;_;_;_;_;_;_;_;_;_;_] _ _) as v__969) = - let Rm = slice_raw v__969 (11:ii) (15:ii) in - let Rn = slice_raw v__969 (22:ii) (26:ii) in - let Rd = slice_raw v__969 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let sub_op = eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let setflags = eq (match S with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - Just (AddSubCarry (d,n,m,datasize,sub_op,setflags)) - -let decodeConditionalCompareRegister ((Vector [sf;op;B1;B1;B1;B0;B1;B0;B0;B1;B0;_;_;_;_;_;_;_;_;_;B0;B0;_;_;_;_;_;B0;_;_;_;_] _ _) as v__961) = - let Rm = slice_raw v__961 (11:ii) (15:ii) in - let _cond = slice_raw v__961 (16:ii) (19:ii) in - let Rn = slice_raw v__961 (22:ii) (26:ii) in - let nzcv = slice_raw v__961 (28:ii) (31:ii) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let sub_op = eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let condition = set_vector_start 3 _cond in - let flags = set_vector_start 3 nzcv in - Just (ConditionalCompareRegister (n,m,datasize,sub_op,reset_vector_start condition,reset_vector_start flags)) - -let decodeConditionalSelect ((Vector [sf;op;B0;B1;B1;B0;B1;B0;B1;B0;B0;_;_;_;_;_;_;_;_;_;B0;o2;_;_;_;_;_;_;_;_;_;_] _ _) as v__954) = - let Rm = slice_raw v__954 (11:ii) (15:ii) in - let _cond = slice_raw v__954 (16:ii) (19:ii) in - let Rn = slice_raw v__954 (22:ii) (26:ii) in - let Rd = slice_raw v__954 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let condition = set_vector_start 3 _cond in - let else_inv = eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let else_inc = eq (match o2 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - Just (ConditionalSelect (d,n,m,datasize,reset_vector_start condition,else_inv,else_inc)) - -let BranchToFP (iR, oR) = - (if bitU_to_bool (UsingAArch32 ()) - then iR - else PSTATE_ELfp :: iR,_PCfp :: oR) - -let decodeImplementationDefined = function - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B1;B0;B0;B0;B0;B1;B0;B1;B1;B1;_;B1;B1;B0;B0;B0;B0;B0;B0;B0;B0;B0;B0;B0;isEnd] _ _) as v__920) -> - Just (ImplementationDefinedTestBeginEnd isEnd) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B1;B0;B0;B0;B0;B1;B0;B1;B1;B1;_;B1;B1;B0;B0;B0;B0;B0;B0;B0;B0;B0;B0;B1;B0] _ _) as v__932) -> - Just (ImplementationDefinedStopFetching) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B1;B0;B0;B0;B0;B1;B0;B1;B1;B1;_;B1;B1;B0;B0;B0;B0;B0;B0;B0;B0;B0;B0;B1;B1] _ _) as v__943) -> - Just (ImplementationDefinedThreadStart) - end - -let NZCVfp = [PSTATE_Vfp;PSTATE_Cfp;PSTATE_Zfp;PSTATE_Nfp] - -let decodeConditionalCompareImmediate ((Vector [sf;op;B1;B1;B1;B0;B1;B0;B0;B1;B0;_;_;_;_;_;_;_;_;_;B1;B0;_;_;_;_;_;B0;_;_;_;_] _ _) as v__912) = - let imm5 = slice_raw v__912 (11:ii) (15:ii) in - let _cond = slice_raw v__912 (16:ii) (19:ii) in - let Rn = slice_raw v__912 (22:ii) (26:ii) in - let nzcv = slice_raw v__912 (28:ii) (31:ii) in - let n = UInt_reg (reset_vector_start Rn) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let sub_op = eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let condition = set_vector_start 3 _cond in - let flags = set_vector_start 3 nzcv in - let imm = - set_vector_start_to_length - (ZeroExtend (datasize,reset_vector_start (set_vector_start_to_length imm5))) in - Just (ConditionalCompareImmediate (n,datasize,sub_op,reset_vector_start condition,reset_vector_start flags,reset_vector_start (set_vector_start_to_length - imm))) - -let decodeMoveWideImmediate ((Vector [sf;_;_;B1;B0;B0;B1;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__909) = - let opc = slice_raw v__909 (1:ii) (2:ii) in - let hw = slice_raw v__909 (9:ii) (10:ii) in - let imm16 = slice_raw v__909 (11:ii) (26:ii) in - let Rd = slice_raw v__909 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let imm = imm16 in - let pos = (0:ii) in - let opcode = - match toNatural (0:ii) with - | (0:nn) -> MoveWideOp_N - | (1:nn) -> MoveWideOp_Z - | (2:nn) -> MoveWideOp_K - end in - match opc with - | Vector [B0;B0] _ _ -> return MoveWideOp_N - | Vector [B1;B0] _ _ -> return MoveWideOp_Z - | Vector [B1;B1] _ _ -> return MoveWideOp_K - | _ -> - UnallocatedEncoding () >> - return opcode - end >>= fun opcode -> - (if bitU_to_bool - ((eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) &. - (eq (match (access hw (1:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then UnallocatedEncoding () - else return ()) >> - let pos = - UInt - (reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length hw) ^^ - (set_vector_start_to_length (Vector [B0;B0;B0;B0] 3 false))))) in - return (Just (MoveWide (d,datasize,reset_vector_start imm,pos,opcode))) - -let decodeLoadStoreExclusive ((Vector [_;_;B0;B0;B1;B0;B0;B0;o2;L;o1;_;_;_;_;_;o0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__903) = - let size = slice_raw v__903 (0:ii) (1:ii) in - let Rs = slice_raw v__903 (11:ii) (15:ii) in - let Rt2 = slice_raw v__903 (17:ii) (21:ii) in - let Rn = slice_raw v__903 (22:ii) (26:ii) in - let Rt = slice_raw v__903 (27:ii) (31:ii) in - let n = UInt_reg (reset_vector_start Rn) in - let t = UInt_reg (reset_vector_start Rt) in - let t2 = UInt_reg (reset_vector_start Rt2) in - let s = UInt_reg (reset_vector_start Rs) in - (if bitU_to_bool - ((eq_vec - (set_vector_start_to_length (Vector [o2;o1;o0] 2 false), - set_vector_start_to_length (Vector [B1;B0;B0] 2 false))) |. - (eq_vec - (set_vector_start_to_length (Vector [o2;o1] 1 false), - set_vector_start_to_length (Vector [B1;B1] 1 false)))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool - ((eq (match o1 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) &. - (eq (match (access size (1:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)))) - then UnallocatedEncoding () - else return ()) >> - let acctype = - if bitU_to_bool (eq (match o0 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then AccType_ORDERED - else AccType_ATOMIC in - let excl = eq (match o2 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)) in - let pair = eq (match o1 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let memop = - if bitU_to_bool (eq (match L with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then MemOp_LOAD - else MemOp_STORE in - let elsize = lsl' ((8:ii),UInt (reset_vector_start (set_vector_start_to_length size))) in - let regsize = if bitU_to_bool (eq_range (elsize, (64:ii))) then (64:ii) else (32:ii) in - let datasize = if bitU_to_bool pair then elsize * (2:ii) else elsize in - return (Just (LoadStoreAcqExc (n,t,t2,s,acctype,excl,pair,memop,elsize,regsize,datasize))) - -let sharedDecodeLoadImmediate (opc, size, Rn, Rt, wback, postindex, scale, offset, acctype, prefetchAllowed) = - let n = UInt_reg Rn in - let t = UInt_reg Rt in - let memop = - match toNatural (0:ii) with - | (0:nn) -> MemOp_LOAD - | (1:nn) -> MemOp_STORE - | (2:nn) -> MemOp_PREFETCH - end in - let _signed = B0 in - let regsize = (64:ii) in - (if bitU_to_bool (eq (match (access opc (1:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) - then - let memop = - if bitU_to_bool - (eq (match (access opc (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then MemOp_LOAD - else MemOp_STORE in - let regsize = - if bitU_to_bool - (eq_vec - (set_vector_start_to_length size, - set_vector_start_to_length (Vector [B1;B1] 1 false))) - then (64:ii) - else (32:ii) in - let _signed = B0 in - return (memop,regsize,_signed) - else - (if bitU_to_bool - (eq_vec - (set_vector_start_to_length size, - set_vector_start_to_length (Vector [B1;B1] 1 false))) - then - (if bitU_to_bool prefetchAllowed - then - let memop = MemOp_PREFETCH in - (if bitU_to_bool - (eq (match (access opc (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then UnallocatedEncoding () - else return ()) >> - return memop - else - UnallocatedEncoding () >> - return memop) >>= fun memop -> - return (regsize,_signed,memop) - else - let memop = MemOp_LOAD in - (if bitU_to_bool - ((eq_vec - (set_vector_start_to_length size, - set_vector_start_to_length (Vector [B1;B0] 1 false))) &. - (eq (match (access opc (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then UnallocatedEncoding () - else return ()) >> - let regsize = - if bitU_to_bool - (eq (match (access opc (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (32:ii) - else (64:ii) in - let _signed = B1 in - return (regsize,_signed,memop)) >>= fun (regsize, _signed, memop) -> - return (memop,regsize,_signed)) >>= fun (memop, regsize, _signed) -> - let datasize = lsl' ((8:ii),scale) in - return (Just (LoadImmediate (n,t,acctype,memop,_signed,wback,postindex,reset_vector_start offset,regsize,datasize))) - -let sharedDecodeLoadRegister (Rn, Rt, Rm, opc, size, wback, postindex, scale, extend_type, shift) = - let n = UInt_reg Rn in - let t = UInt_reg Rt in - let m = UInt_reg Rm in - let acctype = AccType_NORMAL in - let memop = - match toNatural (0:ii) with - | (0:nn) -> MemOp_LOAD - | (1:nn) -> MemOp_STORE - | (2:nn) -> MemOp_PREFETCH - end in - let _signed = B0 in - let regsize = (64:ii) in - (if bitU_to_bool (eq (match (access opc (1:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) - then - let memop = - if bitU_to_bool - (eq (match (access opc (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then MemOp_LOAD - else MemOp_STORE in - let regsize = - if bitU_to_bool - (eq_vec - (set_vector_start_to_length size, - set_vector_start_to_length (Vector [B1;B1] 1 false))) - then (64:ii) - else (32:ii) in - let _signed = B0 in - return (memop,regsize,_signed) - else - (if bitU_to_bool - (eq_vec - (set_vector_start_to_length size, - set_vector_start_to_length (Vector [B1;B1] 1 false))) - then - let memop = MemOp_PREFETCH in - (if bitU_to_bool - (eq (match (access opc (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then UnallocatedEncoding () - else return ()) >> - return (regsize,_signed,memop) - else - let memop = MemOp_LOAD in - (if bitU_to_bool - ((eq_vec - (set_vector_start_to_length size, - set_vector_start_to_length (Vector [B1;B0] 1 false))) &. - (eq (match (access opc (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then UnallocatedEncoding () - else return ()) >> - let regsize = - if bitU_to_bool - (eq (match (access opc (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (32:ii) - else (64:ii) in - let _signed = B1 in - return (regsize,_signed,memop)) >>= fun (regsize, _signed, memop) -> - return (memop,regsize,_signed)) >>= fun (memop, regsize, _signed) -> - let datasize = lsl' ((8:ii),scale) in - return (Just (LoadRegister (n,t,m,acctype,memop,_signed,wback,postindex,extend_type,shift,regsize,datasize))) - -let ConditionHoldsIFP _cond = - match (slice _cond (3:ii) (1:ii)) with - | Vector [B0;B0;B0] _ _ -> [PSTATE_Zfp] - | Vector [B0;B0;B1] _ _ -> [PSTATE_Cfp] - | Vector [B0;B1;B0] _ _ -> [PSTATE_Nfp] - | Vector [B0;B1;B1] _ _ -> [PSTATE_Vfp] - | Vector [B1;B0;B0] _ _ -> [PSTATE_Zfp;PSTATE_Cfp] - | Vector [B1;B0;B1] _ _ -> [PSTATE_Vfp;PSTATE_Nfp] - | Vector [B1;B1;B0] _ _ -> [PSTATE_Zfp;PSTATE_Vfp;PSTATE_Nfp] - | Vector [B1;B1;B1] _ _ -> [] - end - -let decodeAddSubtractImmediate ((Vector [sf;op;S;B1;B0;B0;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__898) = - let shift = slice_raw v__898 (8:ii) (9:ii) in - let imm12 = slice_raw v__898 (10:ii) (21:ii) in - let Rn = slice_raw v__898 (22:ii) (26:ii) in - let Rd = slice_raw v__898 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let sub_op = eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let setflags = eq (match S with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let imm = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - match shift with - | Vector [B0;B0] _ _ -> - let imm = - set_vector_start_to_length - (ZeroExtend (datasize,reset_vector_start (set_vector_start_to_length imm12))) in - return imm - | Vector [B0;B1] _ _ -> - let imm = - set_vector_start_to_length - (ZeroExtend - (datasize, - reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length imm12) ^^ - (set_vector_start_to_length - (duplicate_bits (set_vector_start_to_length (Vector [B0] 0 false), (12:ii)))))))) in - return imm - | Vector [B1;_] _ _ -> - ReservedValue () >> - return imm - end >>= fun imm -> - return (Just (AddSubImmediate (d,n,datasize,sub_op,setflags,reset_vector_start (set_vector_start_to_length - imm)))) - -let decodeData3Source = function - | ((Vector [sf;B0;B0;B1;B1;B0;B1;B1;B0;B0;B0;_;_;_;_;_;o0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__878) -> - let Rm = slice_raw v__878 (11:ii) (15:ii) in - let Ra = slice_raw v__878 (17:ii) (21:ii) in - let Rn = slice_raw v__878 (22:ii) (26:ii) in - let Rd = slice_raw v__878 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let a = UInt_reg (reset_vector_start Ra) in - let destsize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let datasize = destsize in - let sub_op = eq (match o0 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - Just (MultiplyAddSub (d,n,m,a,destsize,datasize,sub_op)) - | ((Vector [B1;B0;B0;B1;B1;B0;B1;B1;U;B0;B1;_;_;_;_;_;o0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__884) -> - let Rm = slice_raw v__884 (11:ii) (15:ii) in - let Ra = slice_raw v__884 (17:ii) (21:ii) in - let Rn = slice_raw v__884 (22:ii) (26:ii) in - let Rd = slice_raw v__884 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let a = UInt_reg (reset_vector_start Ra) in - let destsize = (64:ii) in - let datasize = (32:ii) in - let sub_op = eq (match o0 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let _unsigned = eq (match U with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - Just (MultiplyAddSubLong (d,n,m,a,destsize,datasize,sub_op,_unsigned)) - | ((Vector [B1;B0;B0;B1;B1;B0;B1;B1;U;B1;B0;_;_;_;_;_;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__891) -> - let Rm = slice_raw v__891 (11:ii) (15:ii) in - let Ra = slice_raw v__891 (17:ii) (21:ii) in - let Rn = slice_raw v__891 (22:ii) (26:ii) in - let Rd = slice_raw v__891 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let a = UInt_reg (reset_vector_start Ra) in - let destsize = (64:ii) in - let datasize = destsize in - let _unsigned = eq (match U with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - Just (MultiplyHigh (d,n,m,a,destsize,datasize,_unsigned)) - end - -let decodeExtract ((Vector [sf;B0;B0;B1;B0;B0;B1;B1;B1;N;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__872) = - let Rm = slice_raw v__872 (11:ii) (15:ii) in - let imms = slice_raw v__872 (16:ii) (21:ii) in - let Rn = slice_raw v__872 (22:ii) (26:ii) in - let Rd = slice_raw v__872 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let lsb = (0:ii) in - (if bitU_to_bool (neq_bit (N, sf)) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool - ((eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) &. - (eq (match (access imms (5:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then ReservedValue () - else return ()) >> - let lsb = UInt (reset_vector_start (set_vector_start_to_length imms)) in - return (Just (ExtractRegister (d,n,m,datasize,lsb))) - -let decodeAddSubtractExtendedRegister ((Vector [sf;op;S;B0;B1;B0;B1;B1;B0;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__865) = - let Rm = slice_raw v__865 (11:ii) (15:ii) in - let option_v = slice_raw v__865 (16:ii) (18:ii) in - let imm3 = slice_raw v__865 (19:ii) (21:ii) in - let Rn = slice_raw v__865 (22:ii) (26:ii) in - let Rd = slice_raw v__865 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let sub_op = eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let setflags = eq (match S with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let extend_type = DecodeRegExtend (reset_vector_start (set_vector_start 2 option_v)) in - let shift = UInt (reset_vector_start (set_vector_start_to_length imm3)) in - (if bitU_to_bool (gt (shift, (4:ii))) - then ReservedValue () - else return ()) >> - return (Just (AddSubExtendRegister (d,n,m,datasize,sub_op,setflags,extend_type,shift))) - -let decodeAddSubtractShiftedRegister ((Vector [sf;op;S;B0;B1;B0;B1;B1;_;_;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__859) = - let shift = slice_raw v__859 (8:ii) (9:ii) in - let Rm = slice_raw v__859 (11:ii) (15:ii) in - let imm6 = slice_raw v__859 (16:ii) (21:ii) in - let Rn = slice_raw v__859 (22:ii) (26:ii) in - let Rd = slice_raw v__859 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let sub_op = eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let setflags = eq (match S with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - (if bitU_to_bool - (eq_vec - (set_vector_start_to_length shift, - set_vector_start_to_length (Vector [B1;B1] 1 false))) - then ReservedValue () - else return ()) >> - (if bitU_to_bool - ((eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) &. - (eq (match (access imm6 (5:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then ReservedValue () - else return ()) >> - let shift_type = DecodeShift (reset_vector_start (set_vector_start 1 shift)) in - let shift_amount = UInt (reset_vector_start (set_vector_start_to_length imm6)) in - return (Just (AddSubShiftedRegister (d,n,m,datasize,sub_op,setflags,shift_type,shift_amount))) - -let decodeLogicalShiftedRegister ((Vector [sf;_;_;B0;B1;B0;B1;B0;_;_;N;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__855) = - let opc = slice_raw v__855 (1:ii) (2:ii) in - let shift = slice_raw v__855 (8:ii) (9:ii) in - let Rm = slice_raw v__855 (11:ii) (15:ii) in - let imm6 = slice_raw v__855 (16:ii) (21:ii) in - let Rn = slice_raw v__855 (22:ii) (26:ii) in - let Rd = slice_raw v__855 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let setflags = B0 in - let op = LogicalOp_AND in - let (op, setflags) = - match opc with - | Vector [B0;B0] _ _ -> - let op = LogicalOp_AND in - let setflags = B0 in - (op,setflags) - | Vector [B0;B1] _ _ -> - let op = LogicalOp_ORR in - let setflags = B0 in - (op,setflags) - | Vector [B1;B0] _ _ -> - let op = LogicalOp_EOR in - let setflags = B0 in - (op,setflags) - | Vector [B1;B1] _ _ -> - let op = LogicalOp_AND in - let setflags = B1 in - (op,setflags) - end in - (if bitU_to_bool - ((eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) &. - (eq (match (access imm6 (5:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then ReservedValue () - else return ()) >> - let shift_type = DecodeShift (reset_vector_start (set_vector_start 1 shift)) in - let shift_amount = UInt (reset_vector_start (set_vector_start_to_length imm6)) in - let invert = eq (match N with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - return (Just (LogicalShiftedRegister (d,n,m,datasize,setflags,op,shift_type,shift_amount,invert))) - -let decodeData1Source = function - | ((Vector [sf;B1;B0;B1;B1;B0;B1;B0;B1;B1;B0;B0;B0;B0;B0;B0;B0;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__840) -> - let opc = slice_raw v__840 (20:ii) (21:ii) in - let Rn = slice_raw v__840 (22:ii) (26:ii) in - let Rd = slice_raw v__840 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let op = - match toNatural (0:ii) with - | (0:nn) -> RevOp_RBIT - | (1:nn) -> RevOp_REV16 - | (2:nn) -> RevOp_REV32 - | (3:nn) -> RevOp_REV64 - end in - match opc with - | Vector [B0;B0] _ _ -> return RevOp_RBIT - | Vector [B0;B1] _ _ -> return RevOp_REV16 - | Vector [B1;B0] _ _ -> return RevOp_REV32 - | Vector [B1;B1] _ _ -> - (if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) - then UnallocatedEncoding () - else return ()) >> - return RevOp_REV64 - end >>= fun op -> - return (Just (Reverse (d,n,datasize,op))) - | ((Vector [sf;B1;B0;B1;B1;B0;B1;B0;B1;B1;B0;B0;B0;B0;B0;B0;B0;B0;B0;B1;B0;op;_;_;_;_;_;_;_;_;_;_] _ _) as v__847) -> - let Rn = slice_raw v__847 (22:ii) (26:ii) in - let Rd = slice_raw v__847 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let opcode = - if bitU_to_bool (eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) - then CountOp_CLZ - else CountOp_CLS in - return (Just (CountLeading (d,n,datasize,opcode))) - end - -let decodeUnconditionalBranchRegister = function - | ((Vector [B1;B1;B0;B1;B0;B1;B1;B0;B0;_;_;B1;B1;B1;B1;B1;B0;B0;B0;B0;B0;B0;_;_;_;_;_;B0;B0;B0;B0;B0] _ _) as v__820) -> - let op = slice_raw v__820 (9:ii) (10:ii) in - let Rn = slice_raw v__820 (22:ii) (26:ii) in - let n = UInt_reg (reset_vector_start Rn) in - let branch_type = - match toNatural (0:ii) with - | (0:nn) -> BranchType_CALL - | (1:nn) -> BranchType_ERET - | (2:nn) -> BranchType_DBGEXIT - | (3:nn) -> BranchType_RET - | (4:nn) -> BranchType_JMP - | (5:nn) -> BranchType_EXCEPTION - | (6:nn) -> BranchType_UNKNOWN - end in - match op with - | Vector [B0;B0] _ _ -> return BranchType_JMP - | Vector [B0;B1] _ _ -> return BranchType_CALL - | Vector [B1;B0] _ _ -> return BranchType_RET - | _ -> - UnallocatedEncoding () >> - return branch_type - end >>= fun branch_type -> - return (Just (BranchRegister (n,branch_type))) - | ((Vector [B1;B1;B0;B1;B0;B1;B1;B0;B1;B0;B0;B1;B1;B1;B1;B1;B0;B0;B0;B0;B0;B0;B1;B1;B1;B1;B1;B0;B0;B0;B0;B0] _ _) as v__826) -> - return (Just (ExceptionReturn)) - | ((Vector [B1;B1;B0;B1;B0;B1;B1;B0;B1;B0;B1;B1;B1;B1;B1;B1;B0;B0;B0;B0;B0;B0;B1;B1;B1;B1;B1;B0;B0;B0;B0;B0] _ _) as v__833) -> - return (Just (DebugRestorePState)) - end - -let decodeData2Source = function - | ((Vector [sf;B0;B0;B1;B1;B0;B1;B0;B1;B1;B0;_;_;_;_;_;B0;B0;B0;B0;B1;o1;_;_;_;_;_;_;_;_;_;_] _ _) as v__800) -> - let Rm = slice_raw v__800 (11:ii) (15:ii) in - let Rn = slice_raw v__800 (22:ii) (26:ii) in - let Rd = slice_raw v__800 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let _unsigned = eq (match o1 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)) in - return (Just (Division (d,n,m,datasize,_unsigned))) - | ((Vector [sf;B0;B0;B1;B1;B0;B1;B0;B1;B1;B0;_;_;_;_;_;B0;B0;B1;B0;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__807) -> - let Rm = slice_raw v__807 (11:ii) (15:ii) in - let op2 = slice_raw v__807 (20:ii) (21:ii) in - let Rn = slice_raw v__807 (22:ii) (26:ii) in - let Rd = slice_raw v__807 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let shift_type = DecodeShift (reset_vector_start (set_vector_start 1 op2)) in - return (Just (Shift (d,n,m,datasize,shift_type))) - | ((Vector [sf;B0;B0;B1;B1;B0;B1;B0;B1;B1;B0;_;_;_;_;_;B0;B1;B0;C;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__813) -> - let Rm = slice_raw v__813 (11:ii) (15:ii) in - let sz = slice_raw v__813 (20:ii) (21:ii) in - let Rn = slice_raw v__813 (22:ii) (26:ii) in - let Rd = slice_raw v__813 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - (if bitU_to_bool - ((eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) &. - (neq_vec - (set_vector_start_to_length sz, - set_vector_start_to_length (Vector [B1;B1] 1 false)))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool - ((eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) &. - (eq_vec - (set_vector_start_to_length sz, - set_vector_start_to_length (Vector [B1;B1] 1 false)))) - then UnallocatedEncoding () - else return ()) >> - let size = lsl' ((8:ii),UInt (reset_vector_start (set_vector_start_to_length sz))) in - let crc32c = eq (match C with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - return (Just (CRC (d,n,m,size,crc32c))) - end - -let decodeExceptionGeneration = function - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B0;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;B0;B0;B0;B0;B1] _ _) as v__771) -> - let imm16 = slice_raw v__771 (11:ii) (26:ii) in - let imm = imm16 in - return (Just (GenerateExceptionEL1 (reset_vector_start imm))) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B0;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;B0;B0;B0;B1;B0] _ _) as v__776) -> - let imm16 = slice_raw v__776 (11:ii) (26:ii) in - let imm = imm16 in - return (Just (GenerateExceptionEL2 (reset_vector_start imm))) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B0;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;B0;B0;B0;B1;B1] _ _) as v__781) -> - let imm16 = slice_raw v__781 (11:ii) (26:ii) in - let imm = imm16 in - return (Just (GenerateExceptionEL3 (reset_vector_start imm))) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B0;B0;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;B0;B0;B0;B0;B0] _ _) as v__786) -> - let imm16 = slice_raw v__786 (11:ii) (26:ii) in - let comment = imm16 in - return (Just (DebugBreakpoint (reset_vector_start comment))) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B0;B0;B1;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;B0;B0;B0;B0;B0] _ _) as v__791) -> - let imm16 = slice_raw v__791 (11:ii) (26:ii) in - return (Just (ExternalDebugBreakpoint)) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B0;B1;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;B0;B0;B0;_;_] _ _) as v__796) -> - let imm16 = slice_raw v__796 (11:ii) (26:ii) in - let LL = slice_raw v__796 (30:ii) (31:ii) in - let target_level = LL in - (if bitU_to_bool - (eq_vec - (set_vector_start_to_length LL, - set_vector_start_to_length (Vector [B0;B0] 1 false))) - then UnallocatedEncoding () - else return ()) >> - return (Just (DebugSwitchToExceptionLevel (reset_vector_start target_level))) - end - -let decodeSystem = function - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B1;B0;B0;B0;B0;B0;_;_;_;B0;B1;B0;B0;_;_;_;_;_;_;_;B1;B1;B1;B1;B1] _ _) as v__706) -> - let op1 = slice_raw v__706 (13:ii) (15:ii) in - let CRm = slice_raw v__706 (20:ii) (23:ii) in - let op2 = slice_raw v__706 (24:ii) (26:ii) in - let operand = set_vector_start 3 CRm in - let field' = - match toNatural (0:ii) with - | (0:nn) -> PSTATEField_DAIFSet - | (1:nn) -> PSTATEField_DAIFClr - | (2:nn) -> PSTATEField_SP - end in - match ((set_vector_start_to_length op1) ^^ (set_vector_start_to_length op2)) with - | ((Vector [B0;B0;B0;B1;B0;B1] _ _) as v__712) -> return PSTATEField_SP - | ((Vector [B0;B1;B1;B1;B1;B0] _ _) as v__715) -> return PSTATEField_DAIFSet - | ((Vector [B0;B1;B1;B1;B1;B1] _ _) as v__718) -> return PSTATEField_DAIFClr - | _ -> - UnallocatedEncoding () >> - return field' - end >>= fun field' -> - return (Just (MoveSystemImmediate (reset_vector_start operand,field'))) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B1;B0;B0;B0;B0;B0;B0;B1;B1;B0;B0;B1;B0;_;_;_;_;_;_;_;B1;B1;B1;B1;B1] _ _) as v__721) -> - let CRm = slice_raw v__721 (20:ii) (23:ii) in - let op2 = slice_raw v__721 (24:ii) (26:ii) in - let op = - match toNatural (0:ii) with - | (0:nn) -> SystemHintOp_NOP - | (1:nn) -> SystemHintOp_YIELD - | (2:nn) -> SystemHintOp_WFE - | (3:nn) -> SystemHintOp_WFI - | (4:nn) -> SystemHintOp_SEV - | (5:nn) -> SystemHintOp_SEVL - end in - let op = - match ((set_vector_start_to_length CRm) ^^ (set_vector_start_to_length op2)) with - | ((Vector [B0;B0;B0;B0;B0;B0;B0] _ _) as v__728) -> SystemHintOp_NOP - | ((Vector [B0;B0;B0;B0;B0;B0;B1] _ _) as v__731) -> SystemHintOp_YIELD - | ((Vector [B0;B0;B0;B0;B0;B1;B0] _ _) as v__734) -> SystemHintOp_WFE - | ((Vector [B0;B0;B0;B0;B0;B1;B1] _ _) as v__737) -> SystemHintOp_WFI - | ((Vector [B0;B0;B0;B0;B1;B0;B0] _ _) as v__740) -> SystemHintOp_SEV - | ((Vector [B0;B0;B0;B0;B1;B0;B1] _ _) as v__743) -> SystemHintOp_SEVL - | _ -> SystemHintOp_NOP - end in - return (Just (Hint op)) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B1;B0;B0;B0;B0;B0;B0;B1;B1;B0;B0;B1;B1;_;_;_;_;B0;B1;B0;B1;B1;B1;B1;B1] _ _) as v__746) -> - let CRm = slice_raw v__746 (20:ii) (23:ii) in - let imm = unsigned (reset_vector_start CRm) in - return (Just (ClearExclusiveMonitor imm)) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B1;B0;B0;B0;B0;B0;B0;B1;B1;B0;B0;B1;B1;_;_;_;_;B1;_;_;B1;B1;B1;B1;B1] _ _) as v__754) -> - let CRm = slice_raw v__754 (20:ii) (23:ii) in - let opc = slice_raw v__754 (25:ii) (26:ii) in - let op = - match toNatural (0:ii) with - | (0:nn) -> MemBarrierOp_DSB - | (1:nn) -> MemBarrierOp_DMB - | (2:nn) -> MemBarrierOp_ISB - end in - let domain = - match toNatural (0:ii) with - | (0:nn) -> MBReqDomain_Nonshareable - | (1:nn) -> MBReqDomain_InnerShareable - | (2:nn) -> MBReqDomain_OuterShareable - | (3:nn) -> MBReqDomain_FullSystem - end in - let types = - match toNatural (0:ii) with - | (0:nn) -> MBReqTypes_Reads - | (1:nn) -> MBReqTypes_Writes - | (2:nn) -> MBReqTypes_All - end in - match opc with - | Vector [B0;B0] _ _ -> return MemBarrierOp_DSB - | Vector [B0;B1] _ _ -> return MemBarrierOp_DMB - | Vector [B1;B0] _ _ -> return MemBarrierOp_ISB - | _ -> - UnallocatedEncoding () >> - return op - end >>= fun op -> - let domain = - match (slice CRm (3:ii) (2:ii)) with - | Vector [B0;B0] _ _ -> MBReqDomain_OuterShareable - | Vector [B0;B1] _ _ -> MBReqDomain_Nonshareable - | Vector [B1;B0] _ _ -> MBReqDomain_InnerShareable - | Vector [B1;B1] _ _ -> MBReqDomain_FullSystem - end in - let (domain, types) = - match (slice CRm (1:ii) (0:ii)) with - | Vector [B0;B1] _ _ -> - let types = MBReqTypes_Reads in - (domain,types) - | Vector [B1;B0] _ _ -> - let types = MBReqTypes_Writes in - (domain,types) - | Vector [B1;B1] _ _ -> - let types = MBReqTypes_All in - (domain,types) - | _ -> - let types = MBReqTypes_All in - let domain = MBReqDomain_FullSystem in - (domain,types) - end in - return (Just (Barrier (op,domain,types))) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B1;B0;B0;L;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__762) -> - let op1 = slice_raw v__762 (13:ii) (15:ii) in - let CRn = slice_raw v__762 (16:ii) (19:ii) in - let CRm = slice_raw v__762 (20:ii) (23:ii) in - let op2 = slice_raw v__762 (24:ii) (26:ii) in - let Rt = slice_raw v__762 (27:ii) (31:ii) in - let t = UInt_reg (reset_vector_start Rt) in - let sys_op0 = (1:ii) in - let sys_op1 = UInt (reset_vector_start (set_vector_start_to_length op1)) in - let sys_op2 = UInt (reset_vector_start (set_vector_start_to_length op2)) in - let sys_crn = UInt (reset_vector_start (set_vector_start_to_length CRn)) in - let sys_crm = UInt (reset_vector_start (set_vector_start_to_length CRm)) in - let has_result = eq (match L with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - return (Just (System (t,sys_op0,sys_op1,sys_op2,sys_crn,sys_crm,has_result))) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B1;B0;B0;L;B1;o0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__766) -> - let op1 = slice_raw v__766 (13:ii) (15:ii) in - let CRn = slice_raw v__766 (16:ii) (19:ii) in - let CRm = slice_raw v__766 (20:ii) (23:ii) in - let op2 = slice_raw v__766 (24:ii) (26:ii) in - let Rt = slice_raw v__766 (27:ii) (31:ii) in - let t = UInt_reg (reset_vector_start Rt) in - let sys_op0 = - (2:ii) + (UInt (reset_vector_start (set_vector_start_to_length (Vector [o0] 0 false)))) in - let sys_op1 = UInt (reset_vector_start (set_vector_start_to_length op1)) in - let sys_op2 = UInt (reset_vector_start (set_vector_start_to_length op2)) in - let sys_crn = UInt (reset_vector_start (set_vector_start_to_length CRn)) in - let sys_crm = UInt (reset_vector_start (set_vector_start_to_length CRm)) in - let read = eq (match L with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - return (Just (MoveSystemRegister (t,sys_op0,sys_op1,sys_op2,sys_crn,sys_crm,read))) - end - -let ASR_C (x, shift) = - let extended_x = - set_vector_start_to_length - (SignExtend (shift + (length x),reset_vector_start (set_vector_start_to_length x))) in - let result = - set_vector_start_to_length - (slice (set_vector_start_to_length extended_x) - ((shift + (length (reset_vector_start (set_vector_start_to_length x)))) - (1:ii)) shift) in - let carry_out = access (set_vector_start_to_length extended_x) (shift - (1:ii)) in - (set_vector_start_to_length result,carry_out) - -let ASR (x, shift) = - let result = set_vector_start_to_length (to_vec_dec (length x,(0:ii))) in - if bitU_to_bool (eq_range (shift, (0:ii))) - then set_vector_start_to_length x - else - let (result', _) = - match (ASR_C (reset_vector_start (set_vector_start_to_length x),shift)) with - | (v0v', v1v') -> (v0v',v1v') - end in - set_vector_start_to_length result' - -let LSR (x, shift) = - let result = set_vector_start_to_length (to_vec_dec (length x,(0:ii))) in - if bitU_to_bool (eq_range (shift, (0:ii))) - then set_vector_start_to_length x - else - let (result', _) = - match (LSR_C (reset_vector_start (set_vector_start_to_length x),shift)) with - | (v0v', v1v') -> (v0v',v1v') - end in - set_vector_start_to_length result' - -let AArch64_ResetGeneralRegisters () = - (foreachM_inc ((0:ii),(30:ii),(1:ii)) () - (fun i _ -> - wX (i,reset_vector_start (set_vector_start_to_length (to_vec_dec ((64:ii),UNKNOWN)))))) - -let AArch64_ResetSIMDFPRegisters () = - (foreachM_inc ((0:ii),(31:ii),(1:ii)) () - (fun i _ -> - wV (i,reset_vector_start (set_vector_start_to_length (to_vec_dec ((128:ii),UNKNOWN)))))) - -let wMem'IFP = BigEndianIFP - -let IsFault addrdesc = neq (addrdesc.AddressDescriptor_fault.FaultRecord_type', Fault_None) - -let Extend (N', x, unsigned) = - if bitU_to_bool unsigned - then - set_vector_start_to_length (ZeroExtend (N',reset_vector_start (set_vector_start_to_length x))) - else - set_vector_start_to_length (SignExtend (N',reset_vector_start (set_vector_start_to_length x))) - -let _rMem (read_buffer, desc, size, acctype, exclusive) = - if bitU_to_bool (eq_range (read_buffer.read_buffer_type_size, (0:ii))) - then - <| read_buffer_type_acctype = acctype; - read_buffer_type_exclusive = exclusive; - read_buffer_type_address = desc.AddressDescriptor_paddress.FullAddress_physicaladdress; - read_buffer_type_size = size |> - else - let _ = assert' (eq (read_buffer.read_buffer_type_acctype, acctype)) (Nothing) in - let _ = assert' (eq_bit (read_buffer.read_buffer_type_exclusive, exclusive)) (Nothing) in - let _ = - assert' (eq_vec - (set_vector_start_to_length - (set_vector_start 63 - (add_VIV - (reset_vector_start (set_vector_start_to_length - read_buffer.read_buffer_type_address)) - read_buffer.read_buffer_type_size)), - set_vector_start_to_length - desc.AddressDescriptor_paddress.FullAddress_physicaladdress)) (Nothing) in - <|read_buffer with read_buffer_type_size = (read_buffer.read_buffer_type_size + size)|> - -let CheckSPAlignmentIFP = PSTATE_ELfp :: rSPIFP - -let SCR_GEN () = - let _ = assert' (HaveEL (reset_vector_start EL3)) (Nothing) in - if bitU_to_bool (HighestELUsingAArch32 ()) - then SCR - else SCR_EL3 - -let AArch64_AlignmentFault (acctype, iswrite, secondstage) = - let ipaddress = to_vec_dec ((48:ii),UNKNOWN) in - let level = UNKNOWN in - let extflag = if bitU_to_bool (is_one UNKNOWN) then B1 else B0 in - let s2fs1walk = if bitU_to_bool (is_one UNKNOWN) then B1 else B0 in - AArch64_CreateFaultRecord - (Fault_Alignment, - reset_vector_start ipaddress, - level, - acctype, - iswrite, - extflag, - secondstage, - s2fs1walk) - -let AArch64_NoFault () = - let ipaddress = to_vec_dec ((48:ii),UNKNOWN) in - let level = UNKNOWN in - let acctype = AccType_NORMAL in - let iswrite = if bitU_to_bool (is_one UNKNOWN) then B1 else B0 in - let extflag = if bitU_to_bool (is_one UNKNOWN) then B1 else B0 in - let secondstage = B0 in - let s2fs1walk = B0 in - AArch64_CreateFaultRecord - (Fault_None, - reset_vector_start ipaddress, - level, - acctype, - iswrite, - extflag, - secondstage, - s2fs1walk) - -let decodeConditionalBranchImmediate ((Vector [B0;B1;B0;B1;B0;B1;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;B0;_;_;_;_] _ _) as v__702) = - let imm19 = slice_raw v__702 (8:ii) (26:ii) in - let _cond = slice_raw v__702 (28:ii) (31:ii) in - let offset = - SignExtend - ((64:ii), - reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length imm19) ^^ - (set_vector_start_to_length (Vector [B0;B0] 1 false))))) in - let condition = set_vector_start 3 _cond in - Just (BranchConditional (reset_vector_start offset,reset_vector_start condition)) - -let _wMem (write_buffer, desc, size, acctype, exclusive, value) = - if bitU_to_bool (eq_range (write_buffer.write_buffer_type_size, (0:ii))) - then - <| write_buffer_type_acctype = acctype; - write_buffer_type_exclusive = exclusive; - write_buffer_type_address = desc.AddressDescriptor_paddress.FullAddress_physicaladdress; - write_buffer_type_value = - (ZeroExtend ((128:ii),reset_vector_start (set_vector_start_to_length value))); - write_buffer_type_size = size |> - else - let _ = assert' (eq (write_buffer.write_buffer_type_acctype, acctype)) (Nothing) in - let _ = assert' (eq_bit (write_buffer.write_buffer_type_exclusive, exclusive)) (Nothing) in - let _ = - assert' (eq_vec - (set_vector_start_to_length - (set_vector_start 63 - (add_VIV - (reset_vector_start (set_vector_start_to_length - write_buffer.write_buffer_type_address)) - write_buffer.write_buffer_type_size)), - set_vector_start_to_length - desc.AddressDescriptor_paddress.FullAddress_physicaladdress)) (Nothing) in - <|write_buffer with - write_buffer_type_value = - (ZeroExtend - ((128:ii), - reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length value) ^^ - (set_vector_start_to_length - (slice (set_vector_start_to_length write_buffer.write_buffer_type_value) - ((write_buffer.write_buffer_type_size * (8:ii)) - (1:ii)) (0:ii))))))); write_buffer_type_size = - (write_buffer.write_buffer_type_size + size)|> - -let HaveAArch32EL el = - if bitU_to_bool (~(HaveEL (reset_vector_start el))) - then B0 - else - if bitU_to_bool (~(HaveAnyAArch32 ())) - then B0 - else - if bitU_to_bool (HighestELUsingAArch32 ()) - then B1 - else - if bitU_to_bool (eq_vec (set_vector_start_to_length el, set_vector_start_to_length EL0)) - then B1 - else IMPLEMENTATION_DEFINED.IMPLEMENTATION_DEFINED_type_HaveAArch32EL - -let decodeUnconditionalBranchImmediate ((Vector [op;B0;B0;B1;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__699) = - let imm26 = slice_raw v__699 (6:ii) (31:ii) in - let branch_type = - if bitU_to_bool (eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then BranchType_CALL - else BranchType_JMP in - let offset = - SignExtend - ((64:ii), - reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length imm26) ^^ - (set_vector_start_to_length (Vector [B0;B0] 1 false))))) in - Just (BranchImmediate (branch_type,reset_vector_start offset)) - -let decodeCompareBranchImmediate ((Vector [sf;B0;B1;B1;B0;B1;B0;op;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__695) = - let imm19 = slice_raw v__695 (8:ii) (26:ii) in - let Rt = slice_raw v__695 (27:ii) (31:ii) in - let t = UInt_reg (reset_vector_start Rt) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let iszero = eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)) in - let offset = - SignExtend - ((64:ii), - reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length imm19) ^^ - (set_vector_start_to_length (Vector [B0;B0] 1 false))))) in - Just (CompareAndBranch (t,datasize,iszero,reset_vector_start offset)) - -let decodePCRelAddressing ((Vector [op;_;_;B1;B0;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__692) = - let immlo = slice_raw v__692 (1:ii) (2:ii) in - let immhi = slice_raw v__692 (8:ii) (26:ii) in - let Rd = slice_raw v__692 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let page = eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let imm = to_vec_dec ((64:ii),(0:ii)) in - let imm = - if bitU_to_bool page - then - SignExtend - ((64:ii), - reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length immhi) ^^ - (set_vector_start_to_length - ((set_vector_start_to_length immlo) ^^ - (set_vector_start_to_length - (duplicate_bits (set_vector_start_to_length (Vector [B0] 0 false), (12:ii))))))))) - else - SignExtend - ((64:ii), - reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length immhi) ^^ (set_vector_start_to_length immlo)))) in - Just (Address (d,page,reset_vector_start imm)) - -let decodeTestBranchImmediate ((Vector [b5;B0;B1;B1;B0;B1;B1;op;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__688) = - let b40 = slice_raw v__688 (8:ii) (12:ii) in - let imm14 = slice_raw v__688 (13:ii) (26:ii) in - let Rt = slice_raw v__688 (27:ii) (31:ii) in - let t = UInt_reg (reset_vector_start Rt) in - let datasize = - if bitU_to_bool (eq (match b5 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let bit_pos = - UInt - (reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length (Vector [b5] 0 false)) ^^ (set_vector_start_to_length b40)))) in - let bit_val = op in - let offset = - SignExtend - ((64:ii), - reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length imm14) ^^ - (set_vector_start_to_length (Vector [B0;B0] 1 false))))) in - Just (TestBitAndBranch (t,datasize,bit_pos,bit_val,reset_vector_start offset)) - -let decodeLoadStoreRegisterRegisterOffset ((Vector [_;_;B1;B1;B1;B0;B0;B0;_;_;B1;_;_;_;_;_;_;_;_;S;B1;B0;_;_;_;_;_;_;_;_;_;_] _ _) as v__681) = - let size = slice_raw v__681 (0:ii) (1:ii) in - let opc = slice_raw v__681 (8:ii) (9:ii) in - let Rm = slice_raw v__681 (11:ii) (15:ii) in - let option_v = slice_raw v__681 (16:ii) (18:ii) in - let Rn = slice_raw v__681 (22:ii) (26:ii) in - let Rt = slice_raw v__681 (27:ii) (31:ii) in - let wback = B0 in - let postindex = B0 in - let scale = UInt (reset_vector_start (set_vector_start_to_length size)) in - (if bitU_to_bool - (eq - (match (access (set_vector_start_to_length option_v) (1:ii)) with - | B0 -> (0:ii) - | B1 -> (1:ii) - end, - (0:ii))) - then UnallocatedEncoding () - else return ()) >> - let extend_type = DecodeRegExtend (reset_vector_start (set_vector_start 2 option_v)) in - let shift = - if bitU_to_bool (eq (match S with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then scale - else (0:ii) in - sharedDecodeLoadRegister - (reset_vector_start Rn, - reset_vector_start Rt, - reset_vector_start Rm, - reset_vector_start (set_vector_start 1 opc), - reset_vector_start (set_vector_start 1 size), - wback, - postindex, - scale, - extend_type, - shift) - -let decodeLoadRegisterLiteral ((Vector [_;_;B0;B1;B1;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__677) = - let opc = slice_raw v__677 (0:ii) (1:ii) in - let imm19 = slice_raw v__677 (8:ii) (26:ii) in - let Rt = slice_raw v__677 (27:ii) (31:ii) in - let t = UInt_reg (reset_vector_start Rt) in - let memop = MemOp_LOAD in - let _signed = B0 in - let size = (0:ii) in - let offset = to_vec_dec ((64:ii),(4:ii)) in - let (memop, _signed, size) = - match opc with - | Vector [B0;B0] _ _ -> - let size = (4:ii) in - (memop,_signed,size) - | Vector [B0;B1] _ _ -> - let size = (8:ii) in - (memop,_signed,size) - | Vector [B1;B0] _ _ -> - let size = (4:ii) in - let _signed = B1 in - (memop,_signed,size) - | Vector [B1;B1] _ _ -> - let memop = MemOp_PREFETCH in - (memop,_signed,size) - end in - let offset = - SignExtend - ((64:ii), - reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length imm19) ^^ - (set_vector_start_to_length (Vector [B0;B0] 1 false))))) in - let datasize = size * (8:ii) in - Just (LoadLiteral (t,memop,_signed,size,reset_vector_start offset,datasize)) - -let ROR_C (x, shift) = - let N = length (reset_vector_start (set_vector_start_to_length x)) in - let m = modulo shift N in - let result = - set_vector_start_to_length - (bitwise_or - (set_vector_start_to_length (LSR (reset_vector_start (set_vector_start_to_length x),m)), - set_vector_start_to_length (LSL (reset_vector_start (set_vector_start_to_length x),N - m)))) in - let carry_out = access (set_vector_start_to_length result) (N - (1:ii)) in - (set_vector_start_to_length result,carry_out) - -let decodeSystemImplementationDefined machineCode = - match machineCode with - | ((Vector [_;_;_;_;_;_;_;_;_;_;_;B0;B1;_;_;_;B1;_;B1;B1;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__647) -> - return (decodeImplementationDefined (reset_vector_start machineCode)) - | ((Vector [_;_;_;_;_;_;_;_;_;_;_;B1;B1;_;_;_;B1;_;B1;B1;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__657) -> - return (decodeImplementationDefined (reset_vector_start machineCode)) - | ((Vector [_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__667) -> - decodeSystem (reset_vector_start machineCode) - end - -let decodeLoadStoreRegisterImmediatePostIndexed ((Vector [_;_;B1;B1;B1;B0;B0;B0;_;_;B0;_;_;_;_;_;_;_;_;_;B0;B1;_;_;_;_;_;_;_;_;_;_] _ _) as v__641) = - let size = slice_raw v__641 (0:ii) (1:ii) in - let opc = slice_raw v__641 (8:ii) (9:ii) in - let imm9 = slice_raw v__641 (11:ii) (19:ii) in - let Rn = slice_raw v__641 (22:ii) (26:ii) in - let Rt = slice_raw v__641 (27:ii) (31:ii) in - let wback = B1 in - let postindex = B1 in - let scale = UInt (reset_vector_start (set_vector_start_to_length size)) in - let offset = SignExtend ((64:ii),reset_vector_start (set_vector_start_to_length imm9)) in - sharedDecodeLoadImmediate - (reset_vector_start (set_vector_start 1 opc), - reset_vector_start (set_vector_start 1 size), - reset_vector_start Rn, - reset_vector_start Rt, - wback, - postindex, - scale, - reset_vector_start offset, - AccType_NORMAL, - B0) - -let decodeLoadStoreRegisterImmediatePreIndexed ((Vector [_;_;B1;B1;B1;B0;B0;B0;_;_;B0;_;_;_;_;_;_;_;_;_;B1;B1;_;_;_;_;_;_;_;_;_;_] _ _) as v__635) = - let size = slice_raw v__635 (0:ii) (1:ii) in - let opc = slice_raw v__635 (8:ii) (9:ii) in - let imm9 = slice_raw v__635 (11:ii) (19:ii) in - let Rn = slice_raw v__635 (22:ii) (26:ii) in - let Rt = slice_raw v__635 (27:ii) (31:ii) in - let wback = B1 in - let postindex = B0 in - let scale = UInt (reset_vector_start (set_vector_start_to_length size)) in - let offset = SignExtend ((64:ii),reset_vector_start (set_vector_start_to_length imm9)) in - sharedDecodeLoadImmediate - (reset_vector_start (set_vector_start 1 opc), - reset_vector_start (set_vector_start 1 size), - reset_vector_start Rn, - reset_vector_start Rt, - wback, - postindex, - scale, - reset_vector_start offset, - AccType_NORMAL, - B0) - -let decodeLoadStoreRegisterUnprivileged ((Vector [_;_;B1;B1;B1;B0;B0;B0;_;_;B0;_;_;_;_;_;_;_;_;_;B1;B0;_;_;_;_;_;_;_;_;_;_] _ _) as v__629) = - let size = slice_raw v__629 (0:ii) (1:ii) in - let opc = slice_raw v__629 (8:ii) (9:ii) in - let imm9 = slice_raw v__629 (11:ii) (19:ii) in - let Rn = slice_raw v__629 (22:ii) (26:ii) in - let Rt = slice_raw v__629 (27:ii) (31:ii) in - let wback = B0 in - let postindex = B0 in - let scale = UInt (reset_vector_start (set_vector_start_to_length size)) in - let offset = SignExtend ((64:ii),reset_vector_start (set_vector_start_to_length imm9)) in - sharedDecodeLoadImmediate - (reset_vector_start (set_vector_start 1 opc), - reset_vector_start (set_vector_start 1 size), - reset_vector_start Rn, - reset_vector_start Rt, - wback, - postindex, - scale, - reset_vector_start offset, - AccType_UNPRIV, - B0) - -let decodeLoadStoreRegisterUnscaledImmediate ((Vector [_;_;B1;B1;B1;B0;B0;B0;_;_;B0;_;_;_;_;_;_;_;_;_;B0;B0;_;_;_;_;_;_;_;_;_;_] _ _) as v__623) = - let size = slice_raw v__623 (0:ii) (1:ii) in - let opc = slice_raw v__623 (8:ii) (9:ii) in - let imm9 = slice_raw v__623 (11:ii) (19:ii) in - let Rn = slice_raw v__623 (22:ii) (26:ii) in - let Rt = slice_raw v__623 (27:ii) (31:ii) in - let wback = B0 in - let postindex = B0 in - let scale = UInt (reset_vector_start (set_vector_start_to_length size)) in - let offset = SignExtend ((64:ii),reset_vector_start (set_vector_start_to_length imm9)) in - sharedDecodeLoadImmediate - (reset_vector_start (set_vector_start 1 opc), - reset_vector_start (set_vector_start 1 size), - reset_vector_start Rn, - reset_vector_start Rt, - wback, - postindex, - scale, - reset_vector_start offset, - AccType_NORMAL, - B1) - -let decodeLoadStoreRegisterUnsignedImmediate ((Vector [_;_;B1;B1;B1;B0;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__619) = - let size = slice_raw v__619 (0:ii) (1:ii) in - let opc = slice_raw v__619 (8:ii) (9:ii) in - let imm12 = slice_raw v__619 (10:ii) (21:ii) in - let Rn = slice_raw v__619 (22:ii) (26:ii) in - let Rt = slice_raw v__619 (27:ii) (31:ii) in - let wback = B0 in - let postindex = B0 in - let scale = UInt (reset_vector_start (set_vector_start_to_length size)) in - let offset = - LSL - (reset_vector_start (set_vector_start_to_length - (ZeroExtend ((64:ii),reset_vector_start (set_vector_start_to_length imm12)))), - scale) in - sharedDecodeLoadImmediate - (reset_vector_start (set_vector_start 1 opc), - reset_vector_start (set_vector_start 1 size), - reset_vector_start Rn, - reset_vector_start Rt, - wback, - postindex, - scale, - reset_vector_start offset, - AccType_NORMAL, - B1) - -let decodeLoadStoreNoAllocatePairOffset ((Vector [_;_;B1;B0;B1;B0;B0;B0;B0;L;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__614) = - let opc = slice_raw v__614 (0:ii) (1:ii) in - let imm7 = slice_raw v__614 (10:ii) (16:ii) in - let Rt2 = slice_raw v__614 (17:ii) (21:ii) in - let Rn = slice_raw v__614 (22:ii) (26:ii) in - let Rt = slice_raw v__614 (27:ii) (31:ii) in - let wback = B0 in - let postindex = B0 in - let n = UInt_reg (reset_vector_start Rn) in - let t = UInt_reg (reset_vector_start Rt) in - let t2 = UInt_reg (reset_vector_start Rt2) in - let acctype = AccType_STREAM in - let memop = - if bitU_to_bool (eq (match L with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then MemOp_LOAD - else MemOp_STORE in - (if bitU_to_bool (eq (match (access opc (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then UnallocatedEncoding () - else return ()) >> - let scale = - (2:ii) + - (UInt (reset_vector_start (set_vector_start_to_length (Vector [access opc (1:ii)] 0 false)))) in - let datasize = lsl' ((8:ii),scale) in - let offset = - LSL - (reset_vector_start (set_vector_start_to_length - (SignExtend ((64:ii),reset_vector_start (set_vector_start_to_length imm7)))), - scale) in - return (Just (LoadStorePairNonTemp (wback,postindex,n,t,t2,acctype,memop,scale,datasize,reset_vector_start offset))) - -let sharedDecodeLoadStorePair (L, opc, imm7, Rn, Rt, Rt2, wback, postindex) = - let n = UInt_reg Rn in - let t = UInt_reg Rt in - let t2 = UInt_reg Rt2 in - let acctype = AccType_NORMAL in - let memop = if bitU_to_bool (eq (L, (1:ii))) then MemOp_LOAD else MemOp_STORE in - (if bitU_to_bool - ((eq_vec - (set_vector_start_to_length - (Vector [if bitU_to_bool (is_one L) then B1 else B0;access opc (0:ii)] 1 false), - set_vector_start_to_length (Vector [B0;B1] 1 false))) |. - (eq_vec - (set_vector_start_to_length opc, - set_vector_start_to_length (Vector [B1;B1] 1 false)))) - then UnallocatedEncoding () - else return ()) >> - let _signed = neq (match (access opc (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)) in - let scale = - (2:ii) + - (UInt (reset_vector_start (set_vector_start_to_length (Vector [access opc (1:ii)] 0 false)))) in - let datasize = lsl' ((8:ii),scale) in - let offset = - LSL - (reset_vector_start (set_vector_start_to_length (SignExtend ((64:ii),reset_vector_start imm7))), - scale) in - return (Just (LoadStorePair (wback,postindex,n,t,t2,acctype,memop,_signed,datasize,reset_vector_start offset))) - -let decodeDataRegister machineCode = - match machineCode with - | ((Vector [_;_;_;B0;B1;B0;B1;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__484) -> - decodeLogicalShiftedRegister (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;_;B0;B1;B0;B1;B1;_;_;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__497) -> - decodeAddSubtractShiftedRegister (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;_;B0;B1;B0;B1;B1;_;_;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__510) -> - decodeAddSubtractExtendedRegister (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;_;B1;B1;B0;B1;B0;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__523) -> - return (decodeAddSubtractWithCarry - (reset_vector_start (set_vector_start_to_length machineCode))) - | ((Vector [_;_;_;B1;B1;B0;B1;B0;B0;B1;B0;_;_;_;_;_;_;_;_;_;B0;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__536) -> - return (decodeConditionalCompareRegister (reset_vector_start machineCode)) - | ((Vector [_;_;_;B1;B1;B0;B1;B0;B0;B1;B0;_;_;_;_;_;_;_;_;_;B1;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__549) -> - return (decodeConditionalCompareImmediate (reset_vector_start machineCode)) - | ((Vector [_;_;_;B1;B1;B0;B1;B0;B1;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__562) -> - return (decodeConditionalSelect (reset_vector_start machineCode)) - | ((Vector [_;_;_;B1;B1;B0;B1;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__575) -> - return (decodeData3Source (reset_vector_start machineCode)) - | ((Vector [_;B0;_;B1;B1;B0;B1;B0;B1;B1;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__588) -> - decodeData2Source (reset_vector_start machineCode) - | ((Vector [_;B1;_;B1;B1;B0;B1;B0;B1;B1;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__601) -> - decodeData1Source (reset_vector_start machineCode) - end - -let ROR (x, shift) = - let result = set_vector_start_to_length (to_vec_dec (length x,(0:ii))) in - if bitU_to_bool (eq_range (shift, (0:ii))) - then set_vector_start_to_length x - else - let (result', _) = - match (ROR_C (reset_vector_start (set_vector_start_to_length x),shift)) with - | (v0v', v1v') -> (v0v',v1v') - end in - set_vector_start_to_length result' - -let wMemIFP = wMem'IFP - -let decodeLoadStoreRegisterPairOffset ((Vector [_;_;B1;B0;B1;B0;B0;B1;B0;L;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__479) = - let opc = slice_raw v__479 (0:ii) (1:ii) in - let imm7 = slice_raw v__479 (10:ii) (16:ii) in - let Rt2 = slice_raw v__479 (17:ii) (21:ii) in - let Rn = slice_raw v__479 (22:ii) (26:ii) in - let Rt = slice_raw v__479 (27:ii) (31:ii) in - let wback = B0 in - let postindex = B0 in - sharedDecodeLoadStorePair - (match L with | B0 -> (0:ii) | B1 -> (1:ii) end, - reset_vector_start (set_vector_start 1 opc), - reset_vector_start (set_vector_start_to_length imm7), - reset_vector_start Rn, - reset_vector_start Rt, - reset_vector_start Rt2, - wback, - postindex) - -let decodeLoadStoreRegisterPairPostIndexed ((Vector [_;_;B1;B0;B1;B0;B0;B0;B1;L;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__474) = - let opc = slice_raw v__474 (0:ii) (1:ii) in - let imm7 = slice_raw v__474 (10:ii) (16:ii) in - let Rt2 = slice_raw v__474 (17:ii) (21:ii) in - let Rn = slice_raw v__474 (22:ii) (26:ii) in - let Rt = slice_raw v__474 (27:ii) (31:ii) in - let wback = B1 in - let postindex = B1 in - sharedDecodeLoadStorePair - (match L with | B0 -> (0:ii) | B1 -> (1:ii) end, - reset_vector_start (set_vector_start 1 opc), - reset_vector_start (set_vector_start_to_length imm7), - reset_vector_start Rn, - reset_vector_start Rt, - reset_vector_start Rt2, - wback, - postindex) - -let decodeLoadStoreRegisterPairPreIndexed ((Vector [_;_;B1;B0;B1;B0;B0;B1;B1;L;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__469) = - let opc = slice_raw v__469 (0:ii) (1:ii) in - let imm7 = slice_raw v__469 (10:ii) (16:ii) in - let Rt2 = slice_raw v__469 (17:ii) (21:ii) in - let Rn = slice_raw v__469 (22:ii) (26:ii) in - let Rt = slice_raw v__469 (27:ii) (31:ii) in - let wback = B1 in - let postindex = B0 in - sharedDecodeLoadStorePair - (match L with | B0 -> (0:ii) | B1 -> (1:ii) end, - reset_vector_start (set_vector_start 1 opc), - reset_vector_start (set_vector_start_to_length imm7), - reset_vector_start Rn, - reset_vector_start Rt, - reset_vector_start Rt2, - wback, - postindex) - -let IsSecureBelowEL3 () = - if bitU_to_bool (HaveEL (reset_vector_start EL3)) - then - read_reg_bitfield (SCR_GEN ()) "NS" >>= fun w__0 -> - return (eq (match w__0 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) - else - return (if bitU_to_bool (HaveEL (reset_vector_start EL2)) - then B0 - else IMPLEMENTATION_DEFINED.IMPLEMENTATION_DEFINED_type_IsSecureBelowEL3) - -let AArch64_ResetSpecialRegisters () = - write_reg SP_EL0 (to_vec_dec ((64:ii),UNKNOWN)) >> - write_reg SP_EL1 (to_vec_dec ((64:ii),UNKNOWN)) >> - write_reg SPSR_EL1 (to_vec_dec ((32:ii),UNKNOWN)) >> - write_reg ELR_EL1 (to_vec_dec ((64:ii),UNKNOWN)) >> - (if bitU_to_bool (HaveEL (reset_vector_start EL2)) - then - write_reg SP_EL2 (to_vec_dec ((64:ii),UNKNOWN)) >> - write_reg SPSR_EL2 (to_vec_dec ((32:ii),UNKNOWN)) >> - write_reg ELR_EL2 (to_vec_dec ((64:ii),UNKNOWN)) - else return ()) >> - (if bitU_to_bool (HaveEL (reset_vector_start EL3)) - then - write_reg SP_EL3 (to_vec_dec ((64:ii),UNKNOWN)) >> - write_reg SPSR_EL3 (to_vec_dec ((32:ii),UNKNOWN)) >> - write_reg ELR_EL3 (to_vec_dec ((64:ii),UNKNOWN)) - else return ()) >> - let _ = - if bitU_to_bool (HaveAArch32EL (reset_vector_start EL1)) - then - let SPSR_fiq = to_vec_dec ((32:ii),UNKNOWN) in - let SPSR_irq = to_vec_dec ((32:ii),UNKNOWN) in - let SPSR_abt = to_vec_dec ((32:ii),UNKNOWN) in - let SPSR_und = to_vec_dec ((32:ii),UNKNOWN) in - () - else () in - let DLR_EL0 = to_vec_dec ((64:ii),UNKNOWN) in - let DSPSR_EL0 = to_vec_dec ((32:ii),UNKNOWN) in - return () - -let DecodeBitMasks (M', immN, imms, immr, immediate) = - let M = length (reset_vector_start (set_vector_start_to_length (to_vec_dec (M',(0:ii))))) in - let levels = to_vec_dec ((6:ii),(0:ii)) in - let len = - match (HighestSetBit - (reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length (Vector [immN] 0 false)) ^^ - (set_vector_start_to_length - (NOT (reset_vector_start (set_vector_start_to_length imms)))))))) with - | Nothing -> - let _ = assert' B0 (Just "DecodeBitMasks: HighestSetBit returned None") in - (0:ii) - | Just (c) -> c - end in - (if bitU_to_bool (lt (len, (1:ii))) - then ReservedValue () - else return ()) >> - let _ = assert' (gteq (M, lsl' ((1:ii),len))) (Nothing) in - let levels = - ZeroExtend - ((6:ii), - reset_vector_start (set_vector_start_to_length - (duplicate_bits (set_vector_start_to_length (Vector [B1] 0 false), len)))) in - (if bitU_to_bool - (immediate &. - (eq_vec - (set_vector_start_to_length - (bitwise_and (set_vector_start_to_length imms, set_vector_start_to_length levels)), - set_vector_start_to_length levels))) - then ReservedValue () - else return ()) >> - let S = - set_vector_start 5 - (bitwise_and (set_vector_start_to_length imms, set_vector_start_to_length levels)) in - let R = - set_vector_start 5 - (bitwise_and (set_vector_start_to_length immr, set_vector_start_to_length levels)) in - let diff = - set_vector_start 5 - (minus_VVV - (reset_vector_start (set_vector_start_to_length S)) - (reset_vector_start (set_vector_start_to_length R))) in - let esize = lsl' ((1:ii),len) in - let d = set_vector_start 5 (slice diff (len - (1:ii)) (0:ii)) in - let welem = - set_vector_start_to_length - (ZeroExtend - (esize, - reset_vector_start (set_vector_start_to_length - (duplicate_bits - (set_vector_start_to_length (Vector [B1] 0 false), - add_VII (reset_vector_start (set_vector_start_to_length S)) (1:ii)))))) in - let telem = - set_vector_start_to_length - (ZeroExtend - (esize, - reset_vector_start (set_vector_start_to_length - (duplicate_bits - (set_vector_start_to_length (Vector [B1] 0 false), - add_VII (reset_vector_start (set_vector_start_to_length d)) (1:ii)))))) in - let wmask = - Replicate - (M', - reset_vector_start (set_vector_start_to_length - (ROR - (reset_vector_start (set_vector_start_to_length welem), - unsigned (reset_vector_start R))))) in - let tmask = Replicate (M',reset_vector_start (set_vector_start_to_length telem)) in - return (set_vector_start_to_length wmask,set_vector_start_to_length tmask) - -let AArch64_TranslateAddress (vaddress, acctype, iswrite, wasaligned, size) = - let _ = - info - "Translation is not implemented, return same address as the virtual (no fault, normal, shareable, non-secure)." in - <| AddressDescriptor_fault = (AArch64_NoFault ()); - AddressDescriptor_memattrs = - (<| MemoryAttributes_type' = MemType_Normal; - MemoryAttributes_shareable = B1 |>); - AddressDescriptor_paddress = - (<| FullAddress_physicaladdress = vaddress; - FullAddress_NS = B1 |>) |> - -let ExtendReg (N', _reg, type', shift) = - rX (N',_reg) >>= fun w__0 -> - let _val = set_vector_start_to_length w__0 in - let _unsigned = B0 in - let len = (0:ii) in - let (_unsigned, len) = - match type' with - | ExtendType_SXTB -> - let _unsigned = B0 in - let len = (8:ii) in - (_unsigned,len) - | ExtendType_SXTH -> - let _unsigned = B0 in - let len = (16:ii) in - (_unsigned,len) - | ExtendType_SXTW -> - let _unsigned = B0 in - let len = (32:ii) in - (_unsigned,len) - | ExtendType_SXTX -> - let _unsigned = B0 in - let len = (64:ii) in - (_unsigned,len) - | ExtendType_UXTB -> - let _unsigned = B1 in - let len = (8:ii) in - (_unsigned,len) - | ExtendType_UXTH -> - let _unsigned = B1 in - let len = (16:ii) in - (_unsigned,len) - | ExtendType_UXTW -> - let _unsigned = B1 in - let len = (32:ii) in - (_unsigned,len) - | ExtendType_UXTX -> - let _unsigned = B1 in - let len = (64:ii) in - (_unsigned,len) - end in - let len = uMin (len,(length (reset_vector_start (set_vector_start_to_length _val))) - shift) in - return (set_vector_start_to_length - (Extend - (length _val, - reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length - (slice (set_vector_start_to_length _val) (len - (1:ii)) (0:ii))) ^^ - (set_vector_start_to_length (set_vector_start_to_length (Zeros shift))))), - _unsigned))) - -let ShiftReg (N', _reg, type', amount) = - rX (N',_reg) >>= fun w__0 -> - let result = set_vector_start_to_length w__0 in - let result = - match type' with - | ShiftType_LSL -> - set_vector_start_to_length - (LSL (reset_vector_start (set_vector_start_to_length result),amount)) - | ShiftType_LSR -> - set_vector_start_to_length - (LSR (reset_vector_start (set_vector_start_to_length result),amount)) - | ShiftType_ASR -> - set_vector_start_to_length - (ASR (reset_vector_start (set_vector_start_to_length result),amount)) - | ShiftType_ROR -> - set_vector_start_to_length - (ROR (reset_vector_start (set_vector_start_to_length result),amount)) - end in - return (set_vector_start_to_length result) - -let initial_analysis instr = - let iR = [] in - let oR = [] in - let aR = [] in - let Nias = [NIAFP_successor] in - let Dia = DIAFP_none in - let ik = IK_simple in - match instr with - | TMStart (t) -> - let iR = TxNestingLevelfp :: TXIDR_EL0_DEPTHfp :: iR in - let oR = TxNestingLevelfp :: (oR ++ (xFP t)) in - let ik = IK_trans Transaction_start in - return (aR,Nias,iR,oR,ik) - | TMCommit -> - let iR = TxNestingLevelfp :: iR in - let oR = TxNestingLevelfp :: oR in - let ik = IK_trans Transaction_commit in - return (aR,Nias,iR,oR,ik) - | TMAbort (retry,reason) -> - let iR = TxNestingLevelfp :: iR in - let ik = IK_trans Transaction_abort in - return (aR,Nias,iR,oR,ik) - | TMTest -> - let iR = TxNestingLevelfp :: iR in - let oR = (RFull "NZCV") :: oR in - return (aR,Nias,iR,oR,ik) - | CompareAndBranch (t,datasize,iszero,offset) -> - let iR = iR ++ (xFP t) in - let (i, o) = match (BranchToFP (iR,oR)) with | (v0v', v1v') -> (v0v',v1v') end in - let iR = i in - let oR = o in - rPC () >>= fun w__0 -> - let nia' = - set_vector_start 63 - (add_VVV - (reset_vector_start (set_vector_start_to_length w__0)) - (reset_vector_start (set_vector_start_to_length offset))) in - let Nias = [NIAFP_concrete_address (reset_vector_start nia');NIAFP_successor] in - let ik = IK_branch in - return (aR,Nias,iR,oR,ik) - | BranchConditional (offset,condition) -> - let iR = iR ++ (ConditionHoldsIFP (reset_vector_start condition)) in - let (i, o) = match (BranchToFP (iR,oR)) with | (v2v', v3v') -> (v2v',v3v') end in - let iR = i in - let oR = o in - rPC () >>= fun w__1 -> - let Nias = - [NIAFP_concrete_address (reset_vector_start (set_vector_start 63 - (add_VVV - (reset_vector_start (set_vector_start_to_length w__1)) - (reset_vector_start (set_vector_start_to_length offset)))));NIAFP_successor] in - let ik = IK_branch in - return (aR,Nias,iR,oR,ik) - | GenerateExceptionEL1 (imm) -> - not_implemented "GenerateExceptionEL1" >> - return (aR,Nias,iR,oR,ik) - | GenerateExceptionEL2 (imm) -> - not_implemented "GenerateExceptionEL2" >> - return (aR,Nias,iR,oR,ik) - | GenerateExceptionEL3 (imm) -> - not_implemented "GenerateExceptionEL3" >> - return (aR,Nias,iR,oR,ik) - | DebugBreakpoint (comment) -> - not_implemented "DebugBreakpoint" >> - return (aR,Nias,iR,oR,ik) - | ExternalDebugBreakpoint -> - not_implemented "ExternalDebugBreakpoint" >> - return (aR,Nias,iR,oR,ik) - | DebugSwitchToExceptionLevel (target_level) -> - not_implemented "DebugSwitchToExceptionLevel" >> - return (aR,Nias,iR,oR,ik) - | MoveSystemImmediate (operand,field') -> - let (iR, oR) = - match field' with - | PSTATEField_SP -> - let oR = PSTATE_SPfp :: oR in - (iR,oR) - | PSTATEField_DAIFSet -> - let iR = iR ++ [PSTATE_Ffp;PSTATE_Ifp;PSTATE_Afp;PSTATE_Dfp] in - let oR = oR ++ [PSTATE_Ffp;PSTATE_Ifp;PSTATE_Afp;PSTATE_Dfp] in - (iR,oR) - | PSTATEField_DAIFClr -> - let iR = iR ++ [PSTATE_Ffp;PSTATE_Ifp;PSTATE_Afp;PSTATE_Dfp] in - let oR = oR ++ [PSTATE_Ffp;PSTATE_Ifp;PSTATE_Afp;PSTATE_Dfp] in - (iR,oR) - end in - return (aR,Nias,iR,oR,ik) - | Hint (op) -> - match op with - | SystemHintOp_YIELD -> return () - | SystemHintOp_WFE -> - EventRegistered () >>= fun w__2 -> - if bitU_to_bool w__2 - then return () - else not_implemented "Hint(SystemHintOp_WFE);" - | SystemHintOp_WFI -> not_implemented "Hint(SystemHintOp_WFI);" - | SystemHintOp_SEV -> return () - | SystemHintOp_SEVL -> not_implemented "Hint(SystemHintOp_SEVL);" - | _ -> return () - end >> - return (aR,Nias,iR,oR,ik) - | ClearExclusiveMonitor (imm) -> return (aR,Nias,iR,oR,ik) - | Barrier (op,domain,types) -> - let ik = - match op with - | MemBarrierOp_DSB -> - match types with - | MBReqTypes_Reads -> IK_barrier Barrier_DSB_LD - | MBReqTypes_Writes -> IK_barrier Barrier_DSB_ST - | MBReqTypes_All -> IK_barrier Barrier_DSB - end - | MemBarrierOp_DMB -> - match types with - | MBReqTypes_Reads -> IK_barrier Barrier_DMB_LD - | MBReqTypes_Writes -> IK_barrier Barrier_DMB_ST - | MBReqTypes_All -> IK_barrier Barrier_DMB - end - | MemBarrierOp_ISB -> IK_barrier Barrier_ISB - end in - return (aR,Nias,iR,oR,ik) - | System (t,sys_op0,sys_op1,sys_op2,sys_crn,sys_crm,has_result) -> - let oR = oR ++ (xFP t) in - not_implemented "System" >> - return (aR,Nias,iR,oR,ik) - | MoveSystemRegister (t,sys_op0,sys_op1,sys_op2,sys_crn,sys_crm,read) -> - let (oR, iR) = - if bitU_to_bool read - then - let oR = oR ++ (xFP t) in - let iR = - match toNaturalFiveTup (sys_op0,sys_op1,sys_crn,sys_crm,sys_op2) with - | ((3:nn), (3:nn), (4:nn), (2:nn), (0:nn)) -> (RFull "NZCV") :: iR - | ((3:nn), (3:nn), (4:nn), (2:nn), (1:nn)) -> (RFull "DAIF") :: iR - | ((3:nn), (3:nn), (13:nn), (0:nn), (2:nn)) -> (RFull "TPIDR_EL0") :: iR - end in - (oR,iR) - else - let iR = iR ++ (xFP t) in - let oR = - match toNaturalFiveTup (sys_op0,sys_op1,sys_crn,sys_crm,sys_op2) with - | ((3:nn), (3:nn), (4:nn), (2:nn), (0:nn)) -> (RFull "NZCV") :: oR - | ((3:nn), (3:nn), (4:nn), (2:nn), (1:nn)) -> (RFull "DAIF") :: oR - | ((3:nn), (3:nn), (13:nn), (0:nn), (2:nn)) -> (RFull "TPIDR_EL0") :: oR - end in - (oR,iR) in - return (aR,Nias,iR,oR,ik) - | ImplementationDefinedTestBeginEnd (isEnd) -> return (aR,Nias,iR,oR,ik) - | ImplementationDefinedStopFetching -> return (aR,Nias,iR,oR,ik) - | ImplementationDefinedThreadStart -> return (aR,Nias,iR,oR,ik) - | TestBitAndBranch (t,datasize,bit_pos,bit_val,offset) -> - let iR = (xFP t) ++ iR in - let (i, o) = match (BranchToFP (iR,oR)) with | (v4v', v5v') -> (v4v',v5v') end in - let iR = i in - let oR = o in - rPC () >>= fun w__3 -> - let Nias = - [NIAFP_concrete_address (reset_vector_start (set_vector_start 63 - (add_VVV - (reset_vector_start (set_vector_start_to_length w__3)) - (reset_vector_start (set_vector_start_to_length offset)))));NIAFP_successor] in - let ik = IK_branch in - return (aR,Nias,iR,oR,ik) - | BranchImmediate (branch_type,offset) -> - let (iR, oR) = - if bitU_to_bool (eq (branch_type, BranchType_CALL)) - then - let iR = _PCfp :: iR in - let oR = (xFP (30:ii)) ++ oR in - (iR,oR) - else (iR,oR) in - let (i, o) = match (BranchToFP (iR,oR)) with | (v6v', v7v') -> (v6v',v7v') end in - let iR = i in - let oR = o in - rPC () >>= fun w__4 -> - let Nias = - [NIAFP_concrete_address (reset_vector_start (set_vector_start 63 - (add_VVV - (reset_vector_start (set_vector_start_to_length w__4)) - (reset_vector_start (set_vector_start_to_length offset)))))] in - let ik = IK_branch in - return (aR,Nias,iR,oR,ik) - | BranchRegister (n,branch_type) -> - let iR = iR ++ (xFP n) in - let (iR, oR) = - if bitU_to_bool (eq (branch_type, BranchType_CALL)) - then - let iR = _PCfp :: iR in - let oR = (xFP (30:ii)) ++ oR in - (iR,oR) - else (iR,oR) in - let (i, o) = match (BranchToFP (iR,oR)) with | (v8v', v9v') -> (v8v',v9v') end in - let iR = i in - let oR = o in - let Nias = - if bitU_to_bool (eq_range (n, (31:ii))) - then [NIAFP_concrete_address (reset_vector_start (to_vec_dec ((64:ii),(0:ii))))] - else [NIAFP_indirect_address] in - let ik = IK_branch in - return (aR,Nias,iR,oR,ik) - | ExceptionReturn -> - not_implemented "ExceptionReturn" >> - return (aR,Nias,iR,oR,ik) - | DebugRestorePState -> - not_implemented "DebugRestorePState" >> - return (aR,Nias,iR,oR,ik) - | LoadLiteral (t,memop,_signed,size,offset,datasize) -> - let iR = _PCfp :: iR in - let oR = (xFP t) ++ oR in - let aR = _PCfp :: aR in - let (aR, ik) = - match memop with - | MemOp_LOAD -> - let ik = IK_mem_read Read_plain in - (aR,ik) - | MemOp_PREFETCH -> - let ik = IK_simple in - let aR = [] in - (aR,ik) - end in - return (aR,Nias,iR,oR,ik) - | LoadStoreAcqExc (n,t,t2,s,acctype,excl,pair,memop,elsize,regsize,datasize) -> - let rt_unknown = B0 in - let rn_unknown = B0 in - let (iR, aR) = - if bitU_to_bool (eq_range (n, (31:ii))) - then - let iR = CheckSPAlignmentIFP ++ iR in - let iR = rSPIFP ++ iR in - let aR = rSPIFP ++ aR in - (iR,aR) - else - let (iR, aR) = - if bitU_to_bool rn_unknown - then (iR,aR) - else - let iR = (xFP n) ++ iR in - let aR = (xFP n) ++ aR in - (iR,aR) in - (iR,aR) in - match memop with - | MemOp_STORE -> - let iR = - if bitU_to_bool rt_unknown - then iR - else if bitU_to_bool pair then (xFP t) ++ ((xFP t2) ++ iR) else (xFP t) ++ iR in - (if bitU_to_bool excl - then - let iR = iR ++ wMemIFP in - let oR = (xFP s) ++ oR in - wmem_kind (acctype,B1) >>= fun w__5 -> - let ik = w__5 in - return (iR,oR,ik) - else - let iR = iR ++ wMemIFP in - wmem_kind (acctype,B0) >>= fun w__6 -> - let ik = w__6 in - return (iR,oR,ik)) >>= fun (iR, oR, ik) -> - return (aR,iR,oR,ik) - | MemOp_LOAD -> - (if bitU_to_bool pair - then - let (iR, oR) = - if bitU_to_bool rt_unknown - then - let oR = (xFP t) ++ oR in - (iR,oR) - else - let (iR, oR) = - if bitU_to_bool (eq_range (elsize, (32:ii))) - then - let iR = iR ++ BigEndianIFP in - let oR = (xFP t) ++ ((xFP t2) ++ oR) in - (iR,oR) - else - let oR = (xFP t) ++ ((xFP t2) ++ oR) in - (iR,oR) in - (iR,oR) in - rmem_kind (acctype,B1) >>= fun w__7 -> - let ik = w__7 in - return (oR,iR,ik) - else - let oR = (xFP t) ++ oR in - rmem_kind (acctype,excl) >>= fun w__8 -> - let ik = w__8 in - return (oR,iR,ik)) >>= fun (oR, iR, ik) -> - return (aR,iR,oR,ik) - | MemOp_PREFETCH -> - let aR = [] in - return (aR,iR,oR,ik) - end >>= fun (aR, iR, oR, ik) -> - return (aR,Nias,iR,oR,ik) - | LoadStorePairNonTemp (wback,postindex,n,t,t2,acctype,memop,scale,datasize,offset) -> - let rt_unknown = B0 in - let (iR, aR) = - if bitU_to_bool (eq_range (n, (31:ii))) - then - let iR = CheckSPAlignmentIFP ++ iR in - let iR = rSPIFP ++ iR in - let aR = rSPIFP ++ aR in - (iR,aR) - else - let iR = (xFP n) ++ iR in - let aR = (xFP n) ++ aR in - (iR,aR) in - let (iR, oR) = - if bitU_to_bool wback - then - let (iR, oR) = - if bitU_to_bool (eq_range (n, (31:ii))) - then - let (i, o) = match wSPFP with | (v10v', v11v') -> (v10v',v11v') end in - let iR = i ++ iR in - let oR = o ++ oR in - (iR,oR) - else - let oR = (xFP n) ++ oR in - (iR,oR) in - (iR,oR) - else (iR,oR) in - match memop with - | MemOp_STORE -> - let iR = if bitU_to_bool (rt_unknown &. (eq_range (t, n))) then iR else (xFP t) ++ iR in - let iR = if bitU_to_bool (rt_unknown &. (eq_range (t2, n))) then iR else (xFP t2) ++ iR in - let iR = wMemIFP ++ iR in - wmem_kind (acctype,B0) >>= fun w__9 -> - let ik = w__9 in - return (oR,iR,ik) - | MemOp_LOAD -> - let oR = (xFP t) ++ ((xFP t2) ++ oR) in - rmem_kind (acctype,B0) >>= fun w__10 -> - let ik = w__10 in - return (oR,iR,ik) - end >>= fun (oR, iR, ik) -> - return (aR,Nias,iR,oR,ik) - | LoadImmediate (n,t,acctype,memop,_signed,wback,postindex,offset,regsize,datasize) -> - let wb_unknown = B0 in - let rt_unknown = B0 in - let (iR, aR) = - if bitU_to_bool (eq_range (n, (31:ii))) - then - let iR = CheckSPAlignmentIFP ++ iR in - let iR = rSPIFP ++ iR in - let aR = rSPIFP ++ aR in - (iR,aR) - else - let iR = (xFP n) ++ iR in - let aR = (xFP n) ++ aR in - (iR,aR) in - let (iR, oR) = - if bitU_to_bool wback - then - let (iR, oR) = - if bitU_to_bool (eq_range (n, (31:ii))) - then - let (i, o) = match wSPFP with | (v12v', v13v') -> (v12v',v13v') end in - let iR = i ++ iR in - let oR = o ++ oR in - (iR,oR) - else - let oR = (xFP n) ++ oR in - (iR,oR) in - (iR,oR) - else (iR,oR) in - match memop with - | MemOp_STORE -> - let iR = if bitU_to_bool rt_unknown then iR else (xFP t) ++ iR in - let iR = wMemIFP ++ iR in - wmem_kind (acctype,B0) >>= fun w__11 -> - let ik = w__11 in - return (aR,oR,iR,ik) - | MemOp_LOAD -> - let oR = (xFP t) ++ oR in - rmem_kind (acctype,B0) >>= fun w__12 -> - let ik = w__12 in - return (aR,oR,iR,ik) - | MemOp_PREFETCH -> - let aR = [] in - return (aR,oR,iR,ik) - end >>= fun (aR, oR, iR, ik) -> - return (aR,Nias,iR,oR,ik) - | LoadRegister (n,t,m,acctype,memop,_signed,wback,postindex,extend_type,shift,regsize,datasize) -> - let iR = (xFP m) ++ iR in - let aR = (xFP m) ++ aR in - let wb_unknown = B0 in - let rt_unknown = B0 in - let (iR, aR) = - if bitU_to_bool (eq_range (n, (31:ii))) - then - let iR = CheckSPAlignmentIFP ++ iR in - let iR = rSPIFP ++ iR in - let aR = rSPIFP ++ aR in - (iR,aR) - else - let iR = (xFP n) ++ iR in - let aR = (xFP n) ++ aR in - (iR,aR) in - let (iR, oR) = - if bitU_to_bool wback - then - let (iR, oR) = - if bitU_to_bool (eq_range (n, (31:ii))) - then - let (i, o) = match wSPFP with | (v14v', v15v') -> (v14v',v15v') end in - let iR = i ++ iR in - let oR = o ++ oR in - (iR,oR) - else - let oR = (xFP n) ++ oR in - (iR,oR) in - (iR,oR) - else (iR,oR) in - match memop with - | MemOp_STORE -> - let iR = if bitU_to_bool rt_unknown then iR else (xFP t) ++ iR in - let iR = wMemIFP ++ iR in - wmem_kind (acctype,B0) >>= fun w__13 -> - let ik = w__13 in - return (aR,oR,iR,ik) - | MemOp_LOAD -> - let oR = (xFP t) ++ oR in - rmem_kind (acctype,B0) >>= fun w__14 -> - let ik = w__14 in - return (aR,oR,iR,ik) - | MemOp_PREFETCH -> - let aR = [] in - return (aR,oR,iR,ik) - end >>= fun (aR, oR, iR, ik) -> - return (aR,Nias,iR,oR,ik) - | LoadStorePair (wback,postindex,n,t,t2,acctype,memop,_signed,datasize,offset) -> - let rt_unknown = B0 in - let wb_unknown = B0 in - let (iR, aR) = - if bitU_to_bool (eq_range (n, (31:ii))) - then - let iR = CheckSPAlignmentIFP ++ iR in - let iR = rSPIFP ++ iR in - let aR = rSPIFP ++ aR in - (iR,aR) - else - let iR = (xFP n) ++ iR in - let aR = (xFP n) ++ aR in - (iR,aR) in - let (iR, oR) = - if bitU_to_bool wback - then - let (iR, oR) = - if bitU_to_bool (eq_range (n, (31:ii))) - then - let (i, o) = match wSPFP with | (v16v', v17v') -> (v16v',v17v') end in - let iR = i ++ iR in - let oR = o ++ oR in - (iR,oR) - else - let oR = (xFP n) ++ oR in - (iR,oR) in - (iR,oR) - else (iR,oR) in - match memop with - | MemOp_STORE -> - let iR = if bitU_to_bool (rt_unknown &. (eq_range (t, n))) then iR else (xFP t) ++ iR in - let iR = if bitU_to_bool (rt_unknown &. (eq_range (t2, n))) then iR else (xFP t2) ++ iR in - let iR = wMemIFP ++ iR in - wmem_kind (acctype,B0) >>= fun w__15 -> - let ik = w__15 in - return (oR,iR,ik) - | MemOp_LOAD -> - let oR = (xFP t) ++ oR in - let oR = (xFP t2) ++ oR in - rmem_kind (acctype,B0) >>= fun w__16 -> - let ik = w__16 in - return (oR,iR,ik) - end >>= fun (oR, iR, ik) -> - return (aR,Nias,iR,oR,ik) - | AddSubImmediate (d,n,datasize,sub_op,setflags,imm) -> - let iR = (if bitU_to_bool (eq_range (n, (31:ii))) then rSPIFP else xFP n) ++ iR in - let oR = if bitU_to_bool setflags then NZCVfp ++ oR else oR in - let (iR, oR) = - if bitU_to_bool ((eq_range (d, (31:ii))) &. (~setflags)) - then - let (i, o) = match wSPFP with | (v18v', v19v') -> (v18v',v19v') end in - let iR = i ++ iR in - let oR = o ++ oR in - (iR,oR) - else - let oR = (xFP d) ++ oR in - (iR,oR) in - return (aR,Nias,iR,oR,ik) - | BitfieldMove (d,n,datasize,inzero,extend,R,S,wmask,tmask) -> - let iR = if bitU_to_bool inzero then iR else (xFP d) ++ iR in - let iR = (xFP n) ++ iR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | ExtractRegister (d,n,m,datasize,lsb) -> - let iR = (xFP n) ++ ((xFP m) ++ iR) in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | LogicalImmediate (d,n,datasize,setflags,op,imm) -> - let iR = (xFP n) ++ iR in - let oR = if bitU_to_bool setflags then NZCVfp ++ oR else oR in - let (iR, oR) = - if bitU_to_bool ((eq_range (d, (31:ii))) &. (~setflags)) - then - let (i, o) = match wSPFP with | (v20v', v21v') -> (v20v',v21v') end in - let iR = i ++ iR in - let oR = o ++ oR in - (iR,oR) - else - let oR = (xFP d) ++ oR in - (iR,oR) in - return (aR,Nias,iR,oR,ik) - | MoveWide (d,datasize,imm,pos,opcode) -> - let iR = if bitU_to_bool (eq (opcode, MoveWideOp_K)) then (xFP d) ++ iR else iR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | Address (d,page,imm) -> - let iR = _PCfp :: iR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | AddSubExtendRegister (d,n,m,datasize,sub_op,setflags,extend_type,shift) -> - let iR = (if bitU_to_bool (eq_range (n, (31:ii))) then rSPIFP else xFP n) ++ iR in - let iR = (xFP m) ++ iR in - let oR = if bitU_to_bool setflags then NZCVfp ++ oR else oR in - let (iR, oR) = - if bitU_to_bool ((eq_range (d, (31:ii))) &. (~setflags)) - then - let (i, o) = match wSPFP with | (v22v', v23v') -> (v22v',v23v') end in - let iR = i ++ iR in - let oR = o ++ oR in - (iR,oR) - else - let oR = (xFP d) ++ oR in - (iR,oR) in - return (aR,Nias,iR,oR,ik) - | AddSubShiftedRegister (d,n,m,datasize,sub_op,setflags,shift_type,shift_amount) -> - let iR = (xFP n) ++ ((xFP m) ++ iR) in - let oR = if bitU_to_bool setflags then NZCVfp ++ oR else oR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | AddSubCarry (d,n,m,datasize,sub_op,setflags) -> - let iR = (xFP n) ++ ((xFP m) ++ iR) in - let iR = PSTATE_Cfp :: iR in - let oR = if bitU_to_bool setflags then NZCVfp ++ oR else oR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | ConditionalCompareImmediate (n,datasize,sub_op,condition,flags,imm) -> - let iR = (xFP n) ++ iR in - let iR = (ConditionHoldsIFP (reset_vector_start condition)) ++ iR in - let oR = NZCVfp ++ oR in - return (aR,Nias,iR,oR,ik) - | ConditionalCompareRegister (n,m,datasize,sub_op,condition,flags) -> - let iR = (xFP n) ++ ((xFP m) ++ iR) in - let iR = (ConditionHoldsIFP (reset_vector_start condition)) ++ iR in - let oR = NZCVfp ++ oR in - return (aR,Nias,iR,oR,ik) - | ConditionalSelect (d,n,m,datasize,condition,else_inv,else_inc) -> - let iR = (xFP n) ++ ((xFP m) ++ iR) in - let iR = (ConditionHoldsIFP (reset_vector_start condition)) ++ iR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | Reverse (d,n,datasize,op) -> - let iR = (xFP n) ++ iR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | CountLeading (d,n,datasize,opcode) -> - let iR = (xFP n) ++ iR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | Division (d,n,m,datasize,_unsigned) -> - let iR = (xFP n) ++ ((xFP m) ++ iR) in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | Shift (d,n,m,datasize,shift_type) -> - let iR = (xFP m) ++ iR in - let iR = (xFP n) ++ iR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | CRC (d,n,m,size,crc32c) -> - let iR = (xFP n) ++ ((xFP m) ++ iR) in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | MultiplyAddSub (d,n,m,a,destsize,datasize,sub_op) -> - let iR = (xFP n) ++ iR in - let iR = (xFP m) ++ iR in - let iR = (xFP a) ++ iR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | MultiplyAddSubLong (d,n,m,a,destsize,datasize,sub_op,_unsigned) -> - let iR = (xFP n) ++ iR in - let iR = (xFP m) ++ iR in - let iR = (xFP a) ++ iR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | MultiplyHigh (d,n,m,a,destsize,datasize,_unsigned) -> - let iR = (xFP n) ++ ((xFP m) ++ iR) in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | LogicalShiftedRegister (d,n,m,datasize,setflags,op,shift_type,shift_amount,invert) -> - let iR = (xFP n) ++ ((xFP m) ++ iR) in - let oR = if bitU_to_bool setflags then NZCVfp ++ oR else oR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - end >>= fun (aR, Nias, iR, oR, ik) -> - return (iR,oR,aR,Nias,Dia,ik) - -let decodeBranchesExceptionSystem machineCode = - match machineCode with - | ((Vector [_;B0;B0;B1;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__392) -> - return (decodeUnconditionalBranchImmediate - (reset_vector_start (set_vector_start_to_length machineCode))) - | ((Vector [_;B0;B1;B1;B0;B1;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__403) -> - return (decodeCompareBranchImmediate - (reset_vector_start (set_vector_start_to_length machineCode))) - | ((Vector [_;B0;B1;B1;B0;B1;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__414) -> - return (decodeTestBranchImmediate (reset_vector_start (set_vector_start_to_length machineCode))) - | ((Vector [B0;B1;B0;B1;B0;B1;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__425) -> - return (decodeConditionalBranchImmediate - (reset_vector_start (set_vector_start_to_length machineCode))) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__436) -> - decodeExceptionGeneration (reset_vector_start machineCode) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B1;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__447) -> - decodeSystemImplementationDefined (reset_vector_start machineCode) - | ((Vector [B1;B1;B0;B1;B0;B1;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__458) -> - decodeUnconditionalBranchRegister (reset_vector_start machineCode) - end - -let IsSecure () = - read_reg_field CurrentEL "EL" >>= fun w__0 -> - if bitU_to_bool - ((HaveEL (reset_vector_start EL3)) &. - ((~(UsingAArch32 ())) &. - (eq_vec (set_vector_start_to_length w__0, set_vector_start_to_length EL3)))) - then return B1 - else - read_reg PSTATE_M >>= fun w__1 -> - if bitU_to_bool - ((HaveEL (reset_vector_start EL3)) &. - ((UsingAArch32 ()) &. (eq_vec (w__1, set_vector_start_to_length M32_Monitor)))) - then return B1 - else IsSecureBelowEL3 () - -let decodeLogicalImmediate ((Vector [sf;_;_;B1;B0;B0;B1;B0;B0;N;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__388) = - let opc = slice_raw v__388 (1:ii) (2:ii) in - let immr = slice_raw v__388 (10:ii) (15:ii) in - let imms = slice_raw v__388 (16:ii) (21:ii) in - let Rn = slice_raw v__388 (22:ii) (26:ii) in - let Rd = slice_raw v__388 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let setflags = B0 in - let op = LogicalOp_AND in - let (op, setflags) = - match opc with - | Vector [B0;B0] _ _ -> - let op = LogicalOp_AND in - let setflags = B0 in - (op,setflags) - | Vector [B0;B1] _ _ -> - let op = LogicalOp_ORR in - let setflags = B0 in - (op,setflags) - | Vector [B1;B0] _ _ -> - let op = LogicalOp_EOR in - let setflags = B0 in - (op,setflags) - | Vector [B1;B1] _ _ -> - let op = LogicalOp_AND in - let setflags = B1 in - (op,setflags) - end in - (if bitU_to_bool - ((eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) &. - (neq (match N with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)))) - then ReservedValue () - else return ()) >> - DecodeBitMasks (datasize,N,reset_vector_start imms,reset_vector_start immr,B1) >>= fun w__0 -> - let (imm, _) = match w__0 with | (v0v', v1v') -> (v0v',v1v') end in - return (Just (LogicalImmediate (d,n,datasize,setflags,op,reset_vector_start (set_vector_start_to_length - imm)))) - -let decodeBitfield ((Vector [sf;_;_;B1;B0;B0;B1;B1;B0;N;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__384) = - let opc = slice_raw v__384 (1:ii) (2:ii) in - let immr = slice_raw v__384 (10:ii) (15:ii) in - let imms = slice_raw v__384 (16:ii) (21:ii) in - let Rn = slice_raw v__384 (22:ii) (26:ii) in - let Rd = slice_raw v__384 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let inzero = B0 in - let extend = B0 in - let R = (0:ii) in - let S = (0:ii) in - match opc with - | Vector [B0;B0] _ _ -> - let inzero = B1 in - let extend = B1 in - return (inzero,extend) - | Vector [B0;B1] _ _ -> - let inzero = B0 in - let extend = B0 in - return (inzero,extend) - | Vector [B1;B0] _ _ -> - let inzero = B1 in - let extend = B0 in - return (inzero,extend) - | Vector [B1;B1] _ _ -> - UnallocatedEncoding () >> - return (inzero,extend) - end >>= fun (inzero, extend) -> - (if bitU_to_bool - ((eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) &. - (neq (match N with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then ReservedValue () - else return ()) >> - (if bitU_to_bool - ((eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) &. - ((neq (match N with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) |. - ((neq (match (access immr (5:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) |. - (neq (match (access imms (5:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)))))) - then ReservedValue () - else return ()) >> - let R = UInt (reset_vector_start (set_vector_start_to_length immr)) in - let S = UInt (reset_vector_start (set_vector_start_to_length imms)) in - DecodeBitMasks (datasize,N,reset_vector_start imms,reset_vector_start immr,B0) >>= fun (wmask, tmask) -> - return (Just (BitfieldMove (d,n,datasize,inzero,extend,R,S,reset_vector_start (set_vector_start_to_length - wmask),reset_vector_start (set_vector_start_to_length tmask)))) - -let AArch64_SetExclusiveMonitors (address, size) = - let acctype = AccType_ATOMIC in - let iswrite = B0 in - let aligned = - neq_vec - (set_vector_start_to_length address, - set_vector_start_to_length - (Align (reset_vector_start (set_vector_start_to_length address),size))) in - let memaddrdesc = - AArch64_TranslateAddress (reset_vector_start address,acctype,iswrite,aligned,size) in - if bitU_to_bool (IsFault memaddrdesc) - then () - else - let _ = - if bitU_to_bool memaddrdesc.AddressDescriptor_memattrs.MemoryAttributes_shareable - then MarkExclusiveGlobal (memaddrdesc.AddressDescriptor_paddress,ProcessorID (),size) - else () in - let _ = MarkExclusiveLocal (memaddrdesc.AddressDescriptor_paddress,ProcessorID (),size) in - AArch64_MarkExclusiveVA (reset_vector_start address,ProcessorID (),size) - -let AArch64_TakeReset cold_reset = - let _ = assert' (~(HighestELUsingAArch32 ())) (Nothing) in - write_reg PSTATE_nRW (to_vec_dec ((1:ii),(0:ii))) >> - (if bitU_to_bool (HaveEL (reset_vector_start EL3)) - then - write_reg_field CurrentEL "EL" (set_vector_start 3 EL3) >> - write_reg_bitfield SCR_EL3 "NS" B0 - else - if bitU_to_bool (HaveEL (reset_vector_start EL2)) - then write_reg_field CurrentEL "EL" (set_vector_start 3 EL2) - else write_reg_field CurrentEL "EL" (set_vector_start 3 EL1)) >> - let _ = AArch64_ResetControlRegisters cold_reset in - write_reg_bitfield SPSel "SP" B0 >> - wPSTATE_DAIF ((),reset_vector_start (Vector [B1;B1;B1;B1] 3 false)) >> - let PSTATE_SS = (0:ii) in - let PSTATE_IL = (0:ii) in - AArch64_ResetGeneralRegisters () >> - AArch64_ResetSIMDFPRegisters () >> - AArch64_ResetSpecialRegisters () >> - ResetExternalDebugRegisters cold_reset >> - let rv = to_vec_dec ((64:ii),(0:ii)) in - (if bitU_to_bool (HaveEL (reset_vector_start EL3)) - then read_reg RVBAR_EL3 - else - if bitU_to_bool (HaveEL (reset_vector_start EL2)) - then read_reg RVBAR_EL2 - else read_reg RVBAR_EL1) >>= fun rv -> - PAMax () >>= fun w__3 -> - let _ = - assert' ((IsZero - (reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length rv) (63:ii) w__3)))) &. - (IsZero - (reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length rv) (1:ii) (0:ii)))))) (Just "reset vector not correctly aligned") in - BranchTo (reset_vector_start (set_vector_start_to_length rv),BranchType_UNKNOWN) - -let AArch64_rMemSingle (read_buffer, address, size, acctype, wasaligned, exclusive) = - let _ = - assert' (eq_vec - (set_vector_start_to_length address, - set_vector_start_to_length - (Align (reset_vector_start (set_vector_start_to_length address),size)))) (Nothing) in - let value = set_vector_start_to_length (to_vec_dec (size * (8:ii),(0:ii))) in - let iswrite = B0 in - let memaddrdesc = - AArch64_TranslateAddress (reset_vector_start address,acctype,iswrite,wasaligned,size) in - (if bitU_to_bool (IsFault memaddrdesc) - then AArch64_Abort (reset_vector_start address,memaddrdesc.AddressDescriptor_fault) - else return ()) >> - return (_rMem (read_buffer,memaddrdesc,size,acctype,exclusive)) - -let AArch64_wMemSingle (write_buffer, address, size, acctype, wasaligned, exclusive, value) = - let _ = - assert' (eq_vec - (set_vector_start_to_length address, - set_vector_start_to_length - (Align (reset_vector_start (set_vector_start_to_length address),size)))) (Nothing) in - let iswrite = B1 in - let memaddrdesc = - AArch64_TranslateAddress (reset_vector_start address,acctype,iswrite,wasaligned,size) in - (if bitU_to_bool (IsFault memaddrdesc) - then AArch64_Abort (reset_vector_start address,memaddrdesc.AddressDescriptor_fault) - else return ()) >> - let _ = - if bitU_to_bool memaddrdesc.AddressDescriptor_memattrs.MemoryAttributes_shareable - then ClearExclusiveByAddress (memaddrdesc.AddressDescriptor_paddress,ProcessorID (),size) - else () in - return (_wMem - (write_buffer, - memaddrdesc, - size, - acctype, - exclusive, - reset_vector_start (set_vector_start_to_length value))) - -let AArch64_ExclusiveMonitorsPass (address, size) = - let acctype = AccType_ATOMIC in - let iswrite = B1 in - let aligned = - eq_vec - (set_vector_start_to_length address, - set_vector_start_to_length - (Align (reset_vector_start (set_vector_start_to_length address),size))) in - (if bitU_to_bool (~aligned) - then - let secondstage = B0 in - AArch64_Abort (reset_vector_start address,AArch64_AlignmentFault (acctype,iswrite,secondstage)) - else return ()) >> - let passed = AArch64_IsExclusiveVA (reset_vector_start address,ProcessorID (),size) in - (if bitU_to_bool (~passed) - then return (B0,passed) - else - let memaddrdesc = - AArch64_TranslateAddress (reset_vector_start address,acctype,iswrite,aligned,size) in - (if bitU_to_bool (IsFault memaddrdesc) - then AArch64_Abort (reset_vector_start address,memaddrdesc.AddressDescriptor_fault) - else return ()) >> - let passed = IsExclusiveLocal (memaddrdesc.AddressDescriptor_paddress,ProcessorID (),size) in - let passed = - if bitU_to_bool passed - then - let _ = ClearExclusiveLocal (ProcessorID ()) in - if bitU_to_bool memaddrdesc.AddressDescriptor_memattrs.MemoryAttributes_shareable - then IsExclusiveGlobal (memaddrdesc.AddressDescriptor_paddress,ProcessorID (),size) - else passed - else passed in - return (passed,passed)) >>= fun (w__0, passed) -> - return w__0 - -let decodeLoadsStores machineCode = - match machineCode with - | ((Vector [_;_;B0;B0;B1;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__80) -> - decodeLoadStoreExclusive (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;B0;B1;B1;_;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__99) -> - return (decodeLoadRegisterLiteral (reset_vector_start (set_vector_start_to_length machineCode))) - | ((Vector [_;_;B1;B0;B1;_;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__118) -> - decodeLoadStoreNoAllocatePairOffset - (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;B1;B0;B1;_;B0;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__137) -> - decodeLoadStoreRegisterPairPostIndexed - (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;B1;B0;B1;_;B0;B1;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__156) -> - decodeLoadStoreRegisterPairOffset (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;B1;B0;B1;_;B0;B1;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__175) -> - decodeLoadStoreRegisterPairPreIndexed - (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;B1;B1;B1;_;B0;B0;_;_;B0;_;_;_;_;_;_;_;_;_;B0;B0;_;_;_;_;_;_;_;_;_;_] _ _) as v__194) -> - decodeLoadStoreRegisterUnscaledImmediate - (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;B1;B1;B1;_;B0;B0;_;_;B0;_;_;_;_;_;_;_;_;_;B0;B1;_;_;_;_;_;_;_;_;_;_] _ _) as v__213) -> - decodeLoadStoreRegisterImmediatePostIndexed - (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;B1;B1;B1;_;B0;B0;_;_;B0;_;_;_;_;_;_;_;_;_;B1;B0;_;_;_;_;_;_;_;_;_;_] _ _) as v__232) -> - decodeLoadStoreRegisterUnprivileged - (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;B1;B1;B1;_;B0;B0;_;_;B0;_;_;_;_;_;_;_;_;_;B1;B1;_;_;_;_;_;_;_;_;_;_] _ _) as v__251) -> - decodeLoadStoreRegisterImmediatePreIndexed - (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;B1;B1;B1;_;B0;B0;_;_;B1;_;_;_;_;_;_;_;_;_;B1;B0;_;_;_;_;_;_;_;_;_;_] _ _) as v__270) -> - decodeLoadStoreRegisterRegisterOffset - (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;B1;B1;B1;_;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__289) -> - decodeLoadStoreRegisterUnsignedImmediate - (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [B0;_;B0;B0;B1;B1;B0;B0;B0;_;B0;B0;B0;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__308) -> - decodeAdvSIMDLoadStoreMultiStruct (reset_vector_start machineCode) - | ((Vector [B0;_;B0;B0;B1;B1;B0;B0;B1;_;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__327) -> - decodeAdvSIMDLoadStoreMultiStructPostIndexed (reset_vector_start machineCode) - | ((Vector [B0;_;B0;B0;B1;B1;B0;B1;B0;_;_;B0;B0;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__346) -> - decodeAdvSIMDLoadStoreSingleStruct (reset_vector_start machineCode) - | ((Vector [B0;_;B0;B0;B1;B1;B0;B1;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__365) -> - decodeAdvSIMDLoadStoreSingleStructPostIndexed (reset_vector_start machineCode) - end - -let S1TranslationRegime () = - read_reg_field CurrentEL "EL" >>= fun w__0 -> - if bitU_to_bool (neq_vec (set_vector_start_to_length w__0, set_vector_start_to_length EL0)) - then - read_reg_field CurrentEL "EL" >>= fun w__1 -> - return (set_vector_start 1 w__1) - else - IsSecure () >>= fun w__2 -> - return (if bitU_to_bool - (w__2 &. - ((HaveEL (reset_vector_start EL3)) &. (ELUsingAArch32 (reset_vector_start EL3)))) - then EL3 - else EL1) - -let AArch64_CheckForSMCTrap imm = - IsSecure () >>= fun w__0 -> - read_reg_field CurrentEL "EL" >>= fun w__1 -> - read_reg_field CurrentEL "EL" >>= fun w__2 -> - read_reg_bitfield HCR_EL2 "TSC" >>= fun w__3 -> - let route_to_el2 = - (HaveEL (reset_vector_start EL2)) &. - ((~w__0) &. - (((eq_vec (set_vector_start_to_length w__1, set_vector_start_to_length EL0)) |. - (eq_vec (set_vector_start_to_length w__2, set_vector_start_to_length EL1))) &. - (eq (match w__3 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))))) in - if bitU_to_bool route_to_el2 - then not_implemented "AArch64_CheckForSMCTrap route_to_el2" - else return () - -let CheckSystemAccess (op0, op1, crn, crm, op2, rt, read) = - let unallocated = B0 in - let need_secure = B0 in - let min_EL = to_vec_dec ((2:ii),(0:ii)) in - match op1 with - | ((Vector [B0;B0;_] _ _) as v__77) -> - let min_EL = EL1 in - return (need_secure,min_EL) - | Vector [B0;B1;B0] _ _ -> - let min_EL = EL1 in - return (need_secure,min_EL) - | Vector [B0;B1;B1] _ _ -> - let min_EL = EL0 in - return (need_secure,min_EL) - | Vector [B1;B0;B0] _ _ -> - let min_EL = EL2 in - return (need_secure,min_EL) - | Vector [B1;B0;B1] _ _ -> - UnallocatedEncoding () >> - return (need_secure,min_EL) - | Vector [B1;B1;B0] _ _ -> - let min_EL = EL3 in - return (need_secure,min_EL) - | Vector [B1;B1;B1] _ _ -> - let min_EL = EL1 in - let need_secure = B1 in - return (need_secure,min_EL) - end >>= fun (need_secure, min_EL) -> - read_reg_field CurrentEL "EL" >>= fun w__0 -> - if bitU_to_bool (lt_vec (set_vector_start_to_length w__0, set_vector_start_to_length min_EL)) - then UnallocatedEncoding () - else - IsSecure () >>= fun w__1 -> - if bitU_to_bool (need_secure &. (~w__1)) - then UnallocatedEncoding () - else - AArch64_CheckUnallocatedSystemAccess - (reset_vector_start op0, - reset_vector_start op1, - reset_vector_start crn, - reset_vector_start crm, - reset_vector_start op2, - read) >>= fun w__2 -> - if bitU_to_bool w__2 - then UnallocatedEncoding () - else return () - -let ExternalSecureInvasiveDebugEnabled () = - IsSecure () >>= fun w__0 -> - if bitU_to_bool ((~(HaveEL (reset_vector_start EL3))) &. (~w__0)) - then return B0 - else - ExternalInvasiveDebugEnabled () >>= fun w__1 -> - signalSPIDEN () >>= fun w__2 -> - return (w__1 &. (eq (w__2, HIGH))) - -let decodeDataImmediate machineCode = - match machineCode with - | ((Vector [_;_;_;B1;B0;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__35) -> - return (decodePCRelAddressing (reset_vector_start (set_vector_start_to_length machineCode))) - | ((Vector [_;_;_;B1;B0;B0;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__42) -> - decodeAddSubtractImmediate (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;_;B1;B0;B0;B1;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__49) -> - decodeLogicalImmediate (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;_;B1;B0;B0;B1;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__56) -> - decodeMoveWideImmediate (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;_;B1;B0;B0;B1;B1;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__63) -> - decodeBitfield (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;_;B1;B0;B0;B1;B1;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__70) -> - decodeExtract (reset_vector_start (set_vector_start_to_length machineCode)) - end - -let SCTLR' () = - S1TranslationRegime () >>= fun w__0 -> - return (SCTLR (reset_vector_start w__0)) - -let HaltingAllowed () = - Halted () >>= fun w__0 -> - DoubleLockStatus () >>= fun w__1 -> - if bitU_to_bool (w__0 |. w__1) - then return B0 - else - IsSecure () >>= fun w__2 -> - if bitU_to_bool w__2 - then ExternalSecureInvasiveDebugEnabled () - else ExternalInvasiveDebugEnabled () - -let decode machineCode = - match machineCode with - | ((Vector [_;_;_;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__0) -> - return (Just (Unallocated)) - | ((Vector [_;_;_;B1;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__5) -> - decodeDataImmediate (reset_vector_start machineCode) - | ((Vector [_;_;_;B1;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__10) -> - decodeBranchesExceptionSystem (reset_vector_start machineCode) - | ((Vector [_;_;_;_;B1;_;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__15) -> - decodeLoadsStores (reset_vector_start machineCode) - | ((Vector [_;_;_;_;B1;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__20) -> - decodeDataRegister (reset_vector_start machineCode) - | ((Vector [_;_;_;B0;B1;B1;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__25) -> - decodeDataSIMDFPoint1 (reset_vector_start machineCode) - | ((Vector [_;_;_;B1;B1;B1;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__30) -> - decodeDataSIMDFPoint2 (reset_vector_start machineCode) - | _ -> return (Nothing) - end - -let BigEndian () = - let bigend = B0 in - if bitU_to_bool (UsingAArch32 ()) - then - read_reg PSTATE_E >>= fun w__0 -> - let bigend = neq_vec_range (w__0, (0:ii)) in - return bigend - else - read_reg_field CurrentEL "EL" >>= fun w__1 -> - if bitU_to_bool (eq_vec (set_vector_start_to_length w__1, set_vector_start_to_length EL0)) - then - read_reg_bitfield SCTLR_EL1 "E0E" >>= fun w__2 -> - let bigend = neq (match w__2 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)) in - return bigend - else - SCTLR' () >>= fun w__3 -> - read_reg_bitfield w__3 "EE" >>= fun w__4 -> - let bigend = neq (match w__4 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)) in - return bigend - -let flush_read_buffer (read_buffer, size) = - let _ = assert' (eq_range (read_buffer.read_buffer_type_size, size)) (Nothing) in - let value = set_vector_start_to_length (to_vec_dec (size * (8:ii),(0:ii))) in - (if bitU_to_bool read_buffer.read_buffer_type_exclusive - then - match read_buffer.read_buffer_type_acctype with - | AccType_ATOMIC -> - rMem_ATOMIC - (reset_vector_start read_buffer.read_buffer_type_address, - read_buffer.read_buffer_type_size) >>= fun w__0 -> - return (set_vector_start_to_length w__0) - | AccType_ORDERED -> - rMem_ATOMIC_ORDERED - (reset_vector_start read_buffer.read_buffer_type_address, - read_buffer.read_buffer_type_size) >>= fun w__1 -> - return (set_vector_start_to_length w__1) - | _ -> - not_implemented "unimplemented memory access" >> - return value - end - else - match read_buffer.read_buffer_type_acctype with - | AccType_NORMAL -> - rMem_NORMAL - (reset_vector_start read_buffer.read_buffer_type_address, - read_buffer.read_buffer_type_size) >>= fun w__2 -> - return (set_vector_start_to_length w__2) - | AccType_STREAM -> - rMem_STREAM - (reset_vector_start read_buffer.read_buffer_type_address, - read_buffer.read_buffer_type_size) >>= fun w__3 -> - return (set_vector_start_to_length w__3) - | AccType_UNPRIV -> - rMem_NORMAL - (reset_vector_start read_buffer.read_buffer_type_address, - read_buffer.read_buffer_type_size) >>= fun w__4 -> - return (set_vector_start_to_length w__4) - | AccType_ORDERED -> - rMem_ORDERED - (reset_vector_start read_buffer.read_buffer_type_address, - read_buffer.read_buffer_type_size) >>= fun w__5 -> - return (set_vector_start_to_length w__5) - | AccType_ATOMIC -> return value - end) >>= fun value -> - BigEndian () >>= fun w__6 -> - let value = - if bitU_to_bool w__6 - then - set_vector_start_to_length - (BigEndianReverse (reset_vector_start (set_vector_start_to_length value))) - else value in - return (set_vector_start_to_length value) - -let CheckSPAlignment () = - rSP (64:ii) >>= fun sp -> - let stack_align_check = B0 in - read_reg_field CurrentEL "EL" >>= fun w__0 -> - (if bitU_to_bool (eq_vec (set_vector_start_to_length w__0, set_vector_start_to_length EL0)) - then - read_reg_bitfield SCTLR_EL1 "SA0" >>= fun w__1 -> - let stack_align_check = neq (match w__1 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)) in - return stack_align_check - else - SCTLR' () >>= fun w__2 -> - read_reg_bitfield w__2 "SA" >>= fun w__3 -> - let stack_align_check = neq (match w__3 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)) in - return stack_align_check) >>= fun stack_align_check -> - if bitU_to_bool - (stack_align_check &. - (neq_vec - (set_vector_start_to_length sp, - set_vector_start_to_length - (Align (reset_vector_start (set_vector_start_to_length sp),(16:ii)))))) - then AArch64_SPAlignmentFault () - else return () - -let AArch64_CheckAlignment (address, size, acctype, iswrite) = - let aligned = - eq_vec - (set_vector_start_to_length address, - set_vector_start_to_length - (Align (reset_vector_start (set_vector_start_to_length address),size))) in - SCTLR' () >>= fun w__0 -> - read_reg_bitfield w__0 "A" >>= fun A -> - (if bitU_to_bool - ((~aligned) &. - ((eq (acctype, AccType_ATOMIC)) |. - ((eq (acctype, AccType_ORDERED)) |. - (eq (match A with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))))) - then - let secondstage = B0 in - AArch64_Abort (reset_vector_start address,AArch64_AlignmentFault (acctype,iswrite,secondstage)) - else return ()) >> - return aligned - -let rMem' (read_buffer, address, size, acctype, exclusive) = - let read_buffer' = read_buffer in - let i = (0:ii) in - let iswrite = B0 in - AArch64_CheckAlignment (reset_vector_start address,size,acctype,iswrite) >>= fun aligned -> - let atomic = - (aligned &. (~((eq (acctype, AccType_VEC)) |. (eq (acctype, AccType_VECSTREAM))))) |. - (eq_range (size, (1:ii))) in - if bitU_to_bool (~atomic) - then - let _ = assert' (~exclusive) (Nothing) in - let _ = assert' (gt (size, (1:ii))) (Nothing) in - if bitU_to_bool (~exclusive) - then - AArch64_rMemSingle (read_buffer',reset_vector_start address,(1:ii),acctype,aligned,B0) >>= fun w__0 -> - let read_buffer' = w__0 in - (foreachM_inc ((1:ii),size - (1:ii),(1:ii)) read_buffer' - (fun i read_buffer' -> - AArch64_rMemSingle - (read_buffer', - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) i)), - (1:ii), - acctype, - aligned, - B0))) - else return read_buffer' - else AArch64_rMemSingle (read_buffer',reset_vector_start address,size,acctype,aligned,exclusive) - -let wMem' (write_buffer, address, size, acctype, value, exclusive) = - let write_buffer' = write_buffer in - let value' = set_vector_start_to_length value in - let i = (0:ii) in - let iswrite = B1 in - BigEndian () >>= fun w__0 -> - let value' = - if bitU_to_bool w__0 - then - set_vector_start_to_length - (BigEndianReverse (reset_vector_start (set_vector_start_to_length value'))) - else value' in - AArch64_CheckAlignment (reset_vector_start address,size,acctype,iswrite) >>= fun aligned -> - let atomic = - (aligned &. (~((eq (acctype, AccType_VEC)) |. (eq (acctype, AccType_VECSTREAM))))) |. - (eq_range (size, (1:ii))) in - let exclusiveSuccess = B0 in - if bitU_to_bool (~atomic) - then - let _ = assert' (~exclusive) (Nothing) in - if bitU_to_bool (~exclusive) - then - let _ = assert' (gt (size, (1:ii))) (Nothing) in - AArch64_wMemSingle - (write_buffer', - reset_vector_start address, - (1:ii), - acctype, - aligned, - B0, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length value') (7:ii) (0:ii)))) >>= fun w__1 -> - let write_buffer' = w__1 in - (foreachM_inc ((1:ii),size - (1:ii),(1:ii)) write_buffer' - (fun i write_buffer' -> - AArch64_wMemSingle - (write_buffer', - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) i)), - (1:ii), - acctype, - aligned, - B0, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length value') (((8:ii) * i) + (7:ii)) ((8:ii) * i)))))) - else return write_buffer' - else - AArch64_wMemSingle - (write_buffer', - reset_vector_start address, - size, - acctype, - aligned, - exclusive, - reset_vector_start (set_vector_start_to_length value')) - -let rMem (read_buffer, address, size, acctype) = - rMem' (read_buffer,reset_vector_start address,size,acctype,B0) - -let rMem_exclusive (read_buffer, address, size, acctype) = - rMem' (read_buffer,reset_vector_start address,size,acctype,B1) - -let wMem (write_buffer, address, size, acctype, value) = - wMem' - (write_buffer, - reset_vector_start address, - size, - acctype, - reset_vector_start (set_vector_start_to_length value), - B0) - -let wMem_exclusive (write_buffer, address, size, acctype, value) = - wMem' - (write_buffer, - reset_vector_start address, - size, - acctype, - reset_vector_start (set_vector_start_to_length value), - B1) - - - -let execute_TMStart t = - read_reg TxNestingLevel >>= fun nesting -> - read_reg_field TXIDR_EL0 "DEPTH" >>= fun w__0 -> - if bitU_to_bool - (lt_vec_unsigned (set_vector_start_to_length nesting, set_vector_start_to_length w__0)) - then - write_reg - TxNestingLevel - (set_vector_start 7 (add_VIV (reset_vector_start (set_vector_start_to_length nesting)) (1:ii))) >> - let status = to_vec_dec ((64:ii),(0:ii)) in - (if bitU_to_bool (eq_vec_range (set_vector_start_to_length nesting, (0:ii))) - then read_reg TMStartEffect - else return status) >>= fun status -> - wX (t,reset_vector_start (set_vector_start_to_length status)) - else - let status = to_vec_dec ((64:ii),(0:ii)) in - let status = update_pos status (10:ii) B1 in - write_reg TMAbortEffect status - -let execute_TMCommit () = - read_reg TxNestingLevel >>= fun nesting -> - (if bitU_to_bool (eq_vec_range (set_vector_start_to_length nesting, (1:ii))) - then TMCommitEffect () - else - if bitU_to_bool (eq_vec_range (set_vector_start_to_length nesting, (0:ii))) - then AArch64_UndefinedFault () - else return ()) >> - write_reg - TxNestingLevel - (set_vector_start 7 (minus_VIV (reset_vector_start (set_vector_start_to_length nesting)) (1:ii))) - -let execute_TMTest () = - read_reg TxNestingLevel >>= fun w__0 -> - if bitU_to_bool (gt_vec_range (w__0, (0:ii))) - then wPSTATE_NZCV ((),reset_vector_start (Vector [B0;B0;B0;B0] 3 false)) - else wPSTATE_NZCV ((),reset_vector_start (Vector [B0;B1;B0;B0] 3 false)) - -let execute_TMAbort (retry, reason) = - read_reg TxNestingLevel >>= fun w__0 -> - if bitU_to_bool (gt_vec_range (w__0, (0:ii))) - then - let status = to_vec_dec ((64:ii),(0:ii)) in - let status = update status (4:ii) (0:ii) reason in - let status = update_pos status (8:ii) retry in - let status = update_pos status (9:ii) B1 in - write_reg TMAbortEffect status - else return () - -let execute_CompareAndBranch (t, datasize, iszero, offset) = - rX (datasize,t) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - if bitU_to_bool - (eq_bit (IsZero (reset_vector_start (set_vector_start_to_length operand1)), iszero)) - then - rPC () >>= fun w__1 -> - BranchTo - (reset_vector_start (set_vector_start_to_length - (add_VVV - (reset_vector_start (set_vector_start_to_length w__1)) - (reset_vector_start (set_vector_start_to_length offset)))), - BranchType_JMP) - else return () - -let execute_BranchConditional (offset, condition) = - ConditionHolds (reset_vector_start condition) >>= fun w__0 -> - if bitU_to_bool w__0 - then - rPC () >>= fun w__1 -> - BranchTo - (reset_vector_start (set_vector_start_to_length - (add_VVV - (reset_vector_start (set_vector_start_to_length w__1)) - (reset_vector_start (set_vector_start_to_length offset)))), - BranchType_JMP) - else return () - -let execute_GenerateExceptionEL1 imm = AArch64_CallSupervisor (reset_vector_start imm) - -let execute_GenerateExceptionEL2 imm = - read_reg_field CurrentEL "EL" >>= fun w__0 -> - read_reg_field CurrentEL "EL" >>= fun w__1 -> - IsSecure () >>= fun w__2 -> - (if bitU_to_bool - ((~(HaveEL (reset_vector_start EL2))) |. - ((eq_vec (set_vector_start_to_length w__0, set_vector_start_to_length EL0)) |. - ((eq_vec (set_vector_start_to_length w__1, set_vector_start_to_length EL1)) &. w__2))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool (HaveEL (reset_vector_start EL3)) - then read_reg_bitfield SCR_EL3 "HCE" - else - read_reg_bitfield HCR_EL2 "HCD" >>= fun w__4 -> - return (NOT' w__4)) >>= fun hvc_enable -> - if bitU_to_bool (eq (match hvc_enable with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) - then AArch64_UndefinedFault () - else AArch64_CallHypervisor (reset_vector_start imm) - -let execute_GenerateExceptionEL3 imm = - read_reg_field CurrentEL "EL" >>= fun w__0 -> - (if bitU_to_bool - ((~(HaveEL (reset_vector_start EL3))) |. - (eq_vec (set_vector_start_to_length w__0, set_vector_start_to_length EL0))) - then UnallocatedEncoding () - else return ()) >> - AArch64_CheckForSMCTrap (reset_vector_start imm) >> - read_reg_bitfield SCR_EL3 "SMD" >>= fun w__1 -> - if bitU_to_bool (eq (match w__1 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then AArch64_UndefinedFault () - else AArch64_CallSecureMonitor (reset_vector_start imm) - -let execute_DebugBreakpoint comment = AArch64_SoftwareBreakpoint (reset_vector_start comment) - -let execute_ExternalDebugBreakpoint () = Halt (reset_vector_start DebugHalt_HaltInstruction) - -let execute_DebugSwitchToExceptionLevel target_level = - DCPSInstruction (reset_vector_start target_level) - -let execute_MoveSystemImmediate (operand, field') = - match field' with - | PSTATEField_SP -> write_reg_bitfield SPSel "SP" (access operand (0:ii)) - | PSTATEField_DAIFSet -> - read_reg_bitfield DAIF "D" >>= fun w__0 -> - write_reg_bitfield DAIF "D" (w__0 |. (access operand (3:ii))) >> - read_reg_bitfield DAIF "A" >>= fun w__1 -> - write_reg_bitfield DAIF "A" (w__1 |. (access operand (2:ii))) >> - read_reg_bitfield DAIF "I" >>= fun w__2 -> - write_reg_bitfield DAIF "I" (w__2 |. (access operand (1:ii))) >> - read_reg_bitfield DAIF "F" >>= fun w__3 -> - write_reg_bitfield DAIF "F" (w__3 |. (access operand (0:ii))) - | PSTATEField_DAIFClr -> - read_reg_bitfield DAIF "D" >>= fun w__4 -> - write_reg_bitfield DAIF "D" (w__4 &. (NOT' (access operand (3:ii)))) >> - read_reg_bitfield DAIF "A" >>= fun w__5 -> - write_reg_bitfield DAIF "A" (w__5 &. (NOT' (access operand (2:ii)))) >> - read_reg_bitfield DAIF "I" >>= fun w__6 -> - write_reg_bitfield DAIF "I" (w__6 &. (NOT' (access operand (1:ii)))) >> - read_reg_bitfield DAIF "F" >>= fun w__7 -> - write_reg_bitfield DAIF "F" (w__7 &. (NOT' (access operand (0:ii)))) - end - -let execute_Hint op = - match op with - | SystemHintOp_YIELD -> return (Hint_Yield ()) - | SystemHintOp_WFE -> - EventRegistered () >>= fun w__0 -> - if bitU_to_bool w__0 - then ClearEventRegister () - else - read_reg_field CurrentEL "EL" >>= fun w__1 -> - (if bitU_to_bool (eq_vec (set_vector_start_to_length w__1, set_vector_start_to_length EL0)) - then AArch64_CheckForWFxTrap (reset_vector_start EL1,B1) - else return ()) >> - IsSecure () >>= fun w__2 -> - read_reg_field CurrentEL "EL" >>= fun w__3 -> - read_reg_field CurrentEL "EL" >>= fun w__4 -> - (if bitU_to_bool - ((HaveEL (reset_vector_start EL2)) &. - ((~w__2) &. - ((eq_vec (set_vector_start_to_length w__3, set_vector_start_to_length EL0)) |. - (eq_vec (set_vector_start_to_length w__4, set_vector_start_to_length EL1))))) - then AArch64_CheckForWFxTrap (reset_vector_start EL2,B1) - else return ()) >> - read_reg_field CurrentEL "EL" >>= fun w__5 -> - (if bitU_to_bool - ((HaveEL (reset_vector_start EL3)) &. - (neq_vec (set_vector_start_to_length w__5, set_vector_start_to_length EL3))) - then AArch64_CheckForWFxTrap (reset_vector_start EL3,B1) - else return ()) >> - WaitForEvent () - | SystemHintOp_WFI -> - InterruptPending () >>= fun w__6 -> - if bitU_to_bool (~w__6) - then - read_reg_field CurrentEL "EL" >>= fun w__7 -> - (if bitU_to_bool (eq_vec (set_vector_start_to_length w__7, set_vector_start_to_length EL0)) - then AArch64_CheckForWFxTrap (reset_vector_start EL1,B0) - else return ()) >> - IsSecure () >>= fun w__8 -> - read_reg_field CurrentEL "EL" >>= fun w__9 -> - read_reg_field CurrentEL "EL" >>= fun w__10 -> - (if bitU_to_bool - ((HaveEL (reset_vector_start EL2)) &. - ((~w__8) &. - ((eq_vec (set_vector_start_to_length w__9, set_vector_start_to_length EL0)) |. - (eq_vec (set_vector_start_to_length w__10, set_vector_start_to_length EL1))))) - then AArch64_CheckForWFxTrap (reset_vector_start EL2,B0) - else return ()) >> - read_reg_field CurrentEL "EL" >>= fun w__11 -> - (if bitU_to_bool - ((HaveEL (reset_vector_start EL3)) &. - (neq_vec (set_vector_start_to_length w__11, set_vector_start_to_length EL3))) - then AArch64_CheckForWFxTrap (reset_vector_start EL3,B0) - else return ()) >> - WaitForInterrupt () - else return () - | SystemHintOp_SEV -> return (SendEvent ()) - | SystemHintOp_SEVL -> EventRegisterSet () - | _ -> return () - end - -let execute_ClearExclusiveMonitor imm = return (ClearExclusiveLocal (ProcessorID ())) - -let execute_Barrier (op, domain, types) = - match op with - | MemBarrierOp_DSB -> DataSynchronizationBarrier (domain,types) - | MemBarrierOp_DMB -> DataMemoryBarrier (domain,types) - | MemBarrierOp_ISB -> InstructionSynchronizationBarrier () - end - -let execute_System (t, sys_op0, sys_op1, sys_op2, sys_crn, sys_crm, has_result) = - if bitU_to_bool has_result - then - SysOp_R (sys_op0,sys_op1,sys_crn,sys_crm,sys_op2) >>= fun w__0 -> - wX (t,reset_vector_start (set_vector_start_to_length w__0)) - else - rX ((64:ii),t) >>= fun w__1 -> - SysOp_W (sys_op0,sys_op1,sys_crn,sys_crm,sys_op2,reset_vector_start w__1) - -let execute_MoveSystemRegister (t, sys_op0, sys_op1, sys_op2, sys_crn, sys_crm, read) = - if bitU_to_bool read - then - System_Get (sys_op0,sys_op1,sys_crn,sys_crm,sys_op2) >>= fun w__0 -> - wX (t,reset_vector_start (set_vector_start_to_length w__0)) - else - rX ((64:ii),t) >>= fun w__1 -> - System_Put (sys_op0,sys_op1,sys_crn,sys_crm,sys_op2,reset_vector_start w__1) - -let execute_ImplementationDefinedTestBeginEnd isEnd = - return (if bitU_to_bool isEnd - then info "test ends" - else info "test begins") - -let execute_ImplementationDefinedStopFetching () = return (info "stop fetching instructions") - -let execute_ImplementationDefinedThreadStart () = return (info "thread start") - -let execute_TestBitAndBranch (t, datasize, bit_pos, bit_val, offset) = - rX (datasize,t) >>= fun w__0 -> - let operand = set_vector_start_to_length w__0 in - if bitU_to_bool (eq_bit (access (set_vector_start_to_length operand) bit_pos, bit_val)) - then - rPC () >>= fun w__1 -> - BranchTo - (reset_vector_start (set_vector_start_to_length - (add_VVV - (reset_vector_start (set_vector_start_to_length w__1)) - (reset_vector_start (set_vector_start_to_length offset)))), - BranchType_JMP) - else return () - -let execute_BranchImmediate (branch_type, offset) = - (if bitU_to_bool (eq (branch_type, BranchType_CALL)) - then - rPC () >>= fun w__0 -> - wX - ((30:ii), - reset_vector_start (set_vector_start_to_length - (add_VIV (reset_vector_start (set_vector_start_to_length w__0)) (4:ii)))) - else return ()) >> - rPC () >>= fun w__1 -> - BranchTo - (reset_vector_start (set_vector_start_to_length - (add_VVV - (reset_vector_start (set_vector_start_to_length w__1)) - (reset_vector_start (set_vector_start_to_length offset)))), - branch_type) - -let execute_BranchRegister (n, branch_type) = - rX ((64:ii),n) >>= fun target -> - (if bitU_to_bool (eq (branch_type, BranchType_CALL)) - then - rPC () >>= fun w__0 -> - wX - ((30:ii), - reset_vector_start (set_vector_start_to_length - (add_VIV (reset_vector_start (set_vector_start_to_length w__0)) (4:ii)))) - else return ()) >> - BranchTo (reset_vector_start (set_vector_start_to_length target),branch_type) - -let execute_ExceptionReturn () = - rELR' () >>= fun w__0 -> - rSPSR () >>= fun w__1 -> - AArch64_ExceptionReturn (reset_vector_start w__0,reset_vector_start w__1) - -let execute_DebugRestorePState () = DRPSInstruction () - -let execute_LoadLiteral (t, memop, _signed, size, offset, datasize) = - rPC () >>= fun w__0 -> - let address = - set_vector_start 63 - (add_VVV - (reset_vector_start (set_vector_start_to_length w__0)) - (reset_vector_start (set_vector_start_to_length offset))) in - let data = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - match memop with - | MemOp_LOAD -> - rMem (empty_read_buffer,reset_vector_start address,size,AccType_NORMAL) >>= fun w__1 -> - flush_read_buffer (w__1,size) >>= fun w__2 -> - let data = set_vector_start_to_length w__2 in - (if bitU_to_bool _signed - then - wX - (t, - reset_vector_start (set_vector_start_to_length - (SignExtend ((64:ii),reset_vector_start (set_vector_start_to_length data))))) - else wX (t,reset_vector_start (set_vector_start_to_length data))) >> - return data - | MemOp_PREFETCH -> return data - end >>= fun data -> - return () - -let execute_LoadStoreAcqExc (n, t, t2, s, acctype, excl, pair, memop, elsize, regsize, datasize) = - let address = to_vec_dec ((64:ii),(0:ii)) in - let data = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - let dbytes = quot datasize (8:ii) in - let rt_unknown = B0 in - let rn_unknown = B0 in - (if bitU_to_bool ((eq (memop, MemOp_LOAD)) &. (pair &. (eq_range (t, t2)))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool ((eq (memop, MemOp_STORE)) &. excl) - then - (if bitU_to_bool ((eq_range (s, t)) |. (pair &. (eq_range (s, t2)))) - then UnallocatedEncoding () - else return ()) >> - if bitU_to_bool ((eq_range (s, n)) &. (neq_range (n, (31:ii)))) - then UnallocatedEncoding () - else return () - else return ()) >> - let status = B0 in - (if bitU_to_bool ((eq (memop, MemOp_STORE)) &. excl) - then - speculate_exclusive_success () >>= fun w__0 -> - let status = if bitU_to_bool w__0 then B0 else B1 in - wX - (s, - reset_vector_start (set_vector_start_to_length - (ZeroExtend - ((32:ii), - reset_vector_start (set_vector_start_to_length (Vector [status] 0 false)))))) >> - return status - else return status) >>= fun status -> - (if bitU_to_bool (eq (match status with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then return (address,data,status) - else - (if bitU_to_bool (eq_range (n, (31:ii))) - then - CheckSPAlignment () >> - rSP (64:ii) - else - if bitU_to_bool rn_unknown - then - let address = to_vec_dec ((64:ii),UNKNOWN) in - return address - else rX ((64:ii),n)) >>= fun address -> - match memop with - | MemOp_STORE -> - wMem_Addr (reset_vector_start address,dbytes,acctype,excl) >> - (if bitU_to_bool rt_unknown - then - let data = set_vector_start_to_length (to_vec_dec (length data,UNKNOWN)) in - return data - else - if bitU_to_bool pair - then - let _ = assert' excl (Nothing) in - rX (regsize,t) >>= fun w__3 -> - let el1 = set_vector_start_to_length w__3 in - rX (length el1,t2) >>= fun w__4 -> - let el2 = set_vector_start_to_length w__4 in - BigEndian () >>= fun w__5 -> - let data = - if bitU_to_bool w__5 - then - set_vector_start_to_length - ((set_vector_start_to_length el1) ^^ (set_vector_start_to_length el2)) - else - set_vector_start_to_length - ((set_vector_start_to_length el2) ^^ (set_vector_start_to_length el1)) in - return data - else - rX (length data,t) >>= fun w__6 -> - return (set_vector_start_to_length w__6)) >>= fun data -> - (if bitU_to_bool excl - then - let status = B1 in - AArch64_ExclusiveMonitorsPass (reset_vector_start address,dbytes) >>= fun w__7 -> - if bitU_to_bool w__7 - then - wMem_exclusive - (empty_write_buffer, - reset_vector_start address, - dbytes, - acctype, - reset_vector_start (set_vector_start_to_length data)) >>= fun w__8 -> - flush_write_buffer_exclusive w__8 - else return status - else - wMem - (empty_write_buffer, - reset_vector_start address, - dbytes, - acctype, - reset_vector_start (set_vector_start_to_length data)) >>= fun w__10 -> - flush_write_buffer w__10 >> - return status) >>= fun status -> - return (data,status) - | MemOp_LOAD -> - let _ = - if bitU_to_bool excl - then AArch64_SetExclusiveMonitors (reset_vector_start address,dbytes) - else () in - (if bitU_to_bool pair - then - let _ = assert' excl (Nothing) in - if bitU_to_bool rt_unknown - then - wX - (t, - reset_vector_start (set_vector_start_to_length (to_vec_dec (length data,UNKNOWN)))) >> - return data - else - if bitU_to_bool (eq_range (elsize, (32:ii))) - then - rMem_exclusive (empty_read_buffer,reset_vector_start address,dbytes,acctype) >>= fun w__11 -> - flush_read_buffer (w__11,dbytes) >>= fun w__12 -> - let data = set_vector_start_to_length w__12 in - BigEndian () >>= fun w__13 -> - (if bitU_to_bool w__13 - then - wX - (t, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length data) (datasize - (1:ii)) elsize))) >> - wX - (t2, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length data) (elsize - (1:ii)) (0:ii)))) - else - wX - (t, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length data) (elsize - (1:ii)) (0:ii)))) >> - wX - (t2, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length data) (datasize - (1:ii)) elsize)))) >> - return data - else - (if bitU_to_bool - (neq_vec - (set_vector_start_to_length address, - set_vector_start_to_length - (Align (reset_vector_start (set_vector_start_to_length address),dbytes)))) - then - let iswrite = B0 in - let secondstage = B0 in - AArch64_Abort - (reset_vector_start address, - AArch64_AlignmentFault (acctype,iswrite,secondstage)) - else return ()) >> - rMem_exclusive - (empty_read_buffer, - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) (0:ii))), - (8:ii), - acctype) >>= fun read_buffer -> - rMem_exclusive - (read_buffer, - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) (8:ii))), - (8:ii), - acctype) >>= fun w__14 -> - let read_buffer = w__14 in - flush_read_buffer (read_buffer,(8:ii) * (2:ii)) >>= fun w__15 -> - let value = set_vector_start 127 w__15 in - wX (t,reset_vector_start (set_vector_start_to_length (slice value (63:ii) (0:ii)))) >> - wX - (t2, - reset_vector_start (set_vector_start_to_length (slice value (127:ii) (64:ii)))) >> - return data - else - rMem' (empty_read_buffer,reset_vector_start address,dbytes,acctype,excl) >>= fun w__16 -> - flush_read_buffer (w__16,dbytes) >>= fun w__17 -> - let data = set_vector_start_to_length w__17 in - wX - (t, - reset_vector_start (set_vector_start_to_length - (set_vector_start_to_length - (ZeroExtend (regsize,reset_vector_start (set_vector_start_to_length data)))))) >> - return data) >>= fun data -> - return (data,status) - end >>= fun (data, status) -> - return (address,data,status)) >>= fun (address, data, status) -> - return () - -let execute_LoadStorePairNonTemp (wback, postindex, n, t, t2, acctype, memop, scale, datasize, offset) = - let address = to_vec_dec ((64:ii),(0:ii)) in - let data1 = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - let data2 = set_vector_start_to_length (to_vec_dec (length data1,(0:ii))) in - let dbytes = quot datasize (8:ii) in - let rt_unknown = B0 in - (if bitU_to_bool ((eq (memop, MemOp_LOAD)) &. (eq_range (t, t2))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool (eq_range (n, (31:ii))) - then - CheckSPAlignment () >> - rSP (64:ii) - else rX ((64:ii),n)) >>= fun address -> - let address = - if bitU_to_bool (~postindex) - then - set_vector_start 63 - (add_VVV - (reset_vector_start (set_vector_start_to_length address)) - (reset_vector_start (set_vector_start_to_length offset))) - else address in - (if bitU_to_bool (eq (memop, MemOp_STORE)) - then wMem_Addr (reset_vector_start address,dbytes * (2:ii),acctype,B0) - else return ()) >> - (if bitU_to_bool wback - then - let address' = - if bitU_to_bool (~postindex) - then address - else - add_VVV - (reset_vector_start (set_vector_start_to_length address)) - (reset_vector_start (set_vector_start_to_length offset)) in - if bitU_to_bool (eq_range (n, (31:ii))) - then wSP ((),reset_vector_start (set_vector_start_to_length address')) - else wX (n,reset_vector_start (set_vector_start_to_length address')) - else return ()) >> - match memop with - | MemOp_STORE -> - (if bitU_to_bool (rt_unknown &. (eq_range (t, n))) - then - let data1 = set_vector_start_to_length (to_vec_dec (length data1,UNKNOWN)) in - return data1 - else - rX (length data1,t) >>= fun w__2 -> - return (set_vector_start_to_length w__2)) >>= fun data1 -> - (if bitU_to_bool (rt_unknown &. (eq_range (t2, n))) - then - let data2 = set_vector_start_to_length (to_vec_dec (length data1,UNKNOWN)) in - return data2 - else - rX (length data1,t2) >>= fun w__3 -> - return (set_vector_start_to_length w__3)) >>= fun data2 -> - wMem - (empty_write_buffer, - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) (0:ii))), - dbytes, - acctype, - reset_vector_start (set_vector_start_to_length data1)) >>= fun write_buffer -> - wMem - (write_buffer, - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) dbytes)), - dbytes, - acctype, - reset_vector_start (set_vector_start_to_length data2)) >>= fun w__4 -> - let write_buffer = w__4 in - flush_write_buffer write_buffer >> - return (data1,data2) - | MemOp_LOAD -> - rMem - (empty_read_buffer, - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) (0:ii))), - dbytes, - acctype) >>= fun read_buffer -> - rMem - (read_buffer, - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) dbytes)), - dbytes, - acctype) >>= fun w__5 -> - let read_buffer = w__5 in - flush_read_buffer (read_buffer,dbytes * (2:ii)) >>= fun w__6 -> - let read_data = set_vector_start_to_length w__6 in - let data1 = - set_vector_start_to_length - (slice (set_vector_start_to_length read_data) (datasize - (1:ii)) (0:ii)) in - let data2 = - set_vector_start_to_length - (slice (set_vector_start_to_length read_data) ((datasize * (2:ii)) - (1:ii)) datasize) in - let (data1, data2) = - if bitU_to_bool rt_unknown - then - let data1 = set_vector_start_to_length (to_vec_dec (length data1,UNKNOWN)) in - let data2 = set_vector_start_to_length (to_vec_dec (length data1,UNKNOWN)) in - (data1,data2) - else (data1,data2) in - wX (t,reset_vector_start (set_vector_start_to_length data1)) >> - wX (t2,reset_vector_start (set_vector_start_to_length data2)) >> - return (data1,data2) - end >>= fun (data1, data2) -> - return () - -let execute_LoadImmediate (n, t, acctype, memop, _signed, wback, postindex, offset, regsize, datasize) = - let address = to_vec_dec ((64:ii),(0:ii)) in - let data = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - let wb_unknown = B0 in - let rt_unknown = B0 in - (if bitU_to_bool - ((eq (memop, MemOp_LOAD)) &. (wback &. ((eq_range (n, t)) &. (neq_range (n, (31:ii)))))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool - ((eq (memop, MemOp_STORE)) &. (wback &. ((eq_range (n, t)) &. (neq_range (n, (31:ii)))))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool (eq_range (n, (31:ii))) - then - (if bitU_to_bool (neq (memop, MemOp_PREFETCH)) - then CheckSPAlignment () - else return ()) >> - rSP (64:ii) - else rX ((64:ii),n)) >>= fun address -> - let address = - if bitU_to_bool (~postindex) - then - set_vector_start 63 - (add_VVV - (reset_vector_start (set_vector_start_to_length address)) - (reset_vector_start (set_vector_start_to_length offset))) - else address in - (if bitU_to_bool (eq (memop, MemOp_STORE)) - then wMem_Addr (reset_vector_start address,quot datasize (8:ii),acctype,B0) - else return ()) >> - (if bitU_to_bool wback - then - let address' = - if bitU_to_bool (~postindex) - then address - else - add_VVV - (reset_vector_start (set_vector_start_to_length address)) - (reset_vector_start (set_vector_start_to_length offset)) in - if bitU_to_bool (eq_range (n, (31:ii))) - then wSP ((),reset_vector_start (set_vector_start_to_length address')) - else wX (n,reset_vector_start (set_vector_start_to_length address')) - else return ()) >> - match memop with - | MemOp_STORE -> - (if bitU_to_bool rt_unknown - then - let data = set_vector_start_to_length (to_vec_dec (length data,UNKNOWN)) in - return data - else - rX (length data,t) >>= fun w__2 -> - return (set_vector_start_to_length w__2)) >>= fun data -> - wMem - (empty_write_buffer, - reset_vector_start address, - quot datasize (8:ii), - acctype, - reset_vector_start (set_vector_start_to_length data)) >>= fun w__3 -> - flush_write_buffer w__3 >> - return data - | MemOp_LOAD -> - rMem (empty_read_buffer,reset_vector_start address,quot datasize (8:ii),acctype) >>= fun w__4 -> - flush_read_buffer (w__4,quot datasize (8:ii)) >>= fun w__5 -> - let data = set_vector_start_to_length w__5 in - (if bitU_to_bool _signed - then - wX - (t, - reset_vector_start (set_vector_start_to_length - (set_vector_start_to_length - (SignExtend (regsize,reset_vector_start (set_vector_start_to_length data)))))) - else - wX - (t, - reset_vector_start (set_vector_start_to_length - (set_vector_start_to_length - (ZeroExtend (regsize,reset_vector_start (set_vector_start_to_length data))))))) >> - return data - | MemOp_PREFETCH -> return data - end >>= fun data -> - return () - -let execute_LoadRegister (n, t, m, acctype, memop, _signed, wback, postindex, extend_type, shift, regsize, datasize) = - ExtendReg ((64:ii),m,extend_type,shift) >>= fun offset -> - let address = to_vec_dec ((64:ii),(0:ii)) in - let data = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - let wb_unknown = B0 in - let rt_unknown = B0 in - (if bitU_to_bool - ((eq (memop, MemOp_LOAD)) &. (wback &. ((eq_range (n, t)) &. (neq_range (n, (31:ii)))))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool - ((eq (memop, MemOp_STORE)) &. (wback &. ((eq_range (n, t)) &. (neq_range (n, (31:ii)))))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool (eq_range (n, (31:ii))) - then - (if bitU_to_bool (neq (memop, MemOp_PREFETCH)) - then CheckSPAlignment () - else return ()) >> - rSP (64:ii) - else rX ((64:ii),n)) >>= fun address -> - let address = - if bitU_to_bool (~postindex) - then - set_vector_start 63 - (add_VVV - (reset_vector_start (set_vector_start_to_length address)) - (reset_vector_start (set_vector_start_to_length offset))) - else address in - (if bitU_to_bool (eq (memop, MemOp_STORE)) - then wMem_Addr (reset_vector_start address,quot datasize (8:ii),acctype,B0) - else return ()) >> - (if bitU_to_bool wback - then - let address' = - if bitU_to_bool (~postindex) - then address - else - add_VVV - (reset_vector_start (set_vector_start_to_length address)) - (reset_vector_start (set_vector_start_to_length offset)) in - if bitU_to_bool (eq_range (n, (31:ii))) - then wSP ((),reset_vector_start (set_vector_start_to_length address')) - else wX (n,reset_vector_start (set_vector_start_to_length address')) - else return ()) >> - match memop with - | MemOp_STORE -> - (if bitU_to_bool rt_unknown - then - let data = set_vector_start_to_length (to_vec_dec (length data,UNKNOWN)) in - return data - else - rX (length data,t) >>= fun w__2 -> - return (set_vector_start_to_length w__2)) >>= fun data -> - wMem - (empty_write_buffer, - reset_vector_start address, - quot datasize (8:ii), - acctype, - reset_vector_start (set_vector_start_to_length data)) >>= fun w__3 -> - flush_write_buffer w__3 >> - return data - | MemOp_LOAD -> - rMem (empty_read_buffer,reset_vector_start address,quot datasize (8:ii),acctype) >>= fun w__4 -> - flush_read_buffer (w__4,quot datasize (8:ii)) >>= fun w__5 -> - let data = set_vector_start_to_length w__5 in - (if bitU_to_bool _signed - then - wX - (t, - reset_vector_start (set_vector_start_to_length - (set_vector_start_to_length - (SignExtend (regsize,reset_vector_start (set_vector_start_to_length data)))))) - else - wX - (t, - reset_vector_start (set_vector_start_to_length - (set_vector_start_to_length - (ZeroExtend (regsize,reset_vector_start (set_vector_start_to_length data))))))) >> - return data - | MemOp_PREFETCH -> return data - end >>= fun data -> - return () - -let execute_LoadStorePair (wback, postindex, n, t, t2, acctype, memop, _signed, datasize, offset) = - let address = to_vec_dec ((64:ii),(0:ii)) in - let data1 = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - let data2 = set_vector_start_to_length (to_vec_dec (length data1,(0:ii))) in - let dbytes = quot datasize (8:ii) in - let rt_unknown = B0 in - let wb_unknown = B0 in - (if bitU_to_bool - ((eq (memop, MemOp_LOAD)) &. - (wback &. (((eq_range (t, n)) |. (eq_range (t2, n))) &. (neq_range (n, (31:ii)))))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool - ((eq (memop, MemOp_STORE)) &. - (wback &. (((eq_range (t, n)) |. (eq_range (t2, n))) &. (neq_range (n, (31:ii)))))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool ((eq (memop, MemOp_LOAD)) &. (eq_range (t, t2))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool (eq_range (n, (31:ii))) - then - CheckSPAlignment () >> - rSP (64:ii) - else rX ((64:ii),n)) >>= fun address -> - let address = - if bitU_to_bool (~postindex) - then - set_vector_start 63 - (add_VVV - (reset_vector_start (set_vector_start_to_length address)) - (reset_vector_start (set_vector_start_to_length offset))) - else address in - (if bitU_to_bool (eq (memop, MemOp_STORE)) - then wMem_Addr (reset_vector_start address,dbytes * (2:ii),acctype,B0) - else return ()) >> - (if bitU_to_bool wback - then - let address' = - if bitU_to_bool (~postindex) - then address - else - add_VVV - (reset_vector_start (set_vector_start_to_length address)) - (reset_vector_start (set_vector_start_to_length offset)) in - if bitU_to_bool (eq_range (n, (31:ii))) - then wSP ((),reset_vector_start (set_vector_start_to_length address')) - else wX (n,reset_vector_start (set_vector_start_to_length address')) - else return ()) >> - match memop with - | MemOp_STORE -> - (if bitU_to_bool (rt_unknown &. (eq_range (t, n))) - then - let data1 = set_vector_start_to_length (to_vec_dec (length data1,UNKNOWN)) in - return data1 - else - rX (length data1,t) >>= fun w__2 -> - return (set_vector_start_to_length w__2)) >>= fun data1 -> - (if bitU_to_bool (rt_unknown &. (eq_range (t2, n))) - then - let data2 = set_vector_start_to_length (to_vec_dec (length data1,UNKNOWN)) in - return data2 - else - rX (length data1,t2) >>= fun w__3 -> - return (set_vector_start_to_length w__3)) >>= fun data2 -> - wMem - (empty_write_buffer, - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) (0:ii))), - dbytes, - acctype, - reset_vector_start (set_vector_start_to_length data1)) >>= fun write_buffer -> - wMem - (write_buffer, - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) dbytes)), - dbytes, - acctype, - reset_vector_start (set_vector_start_to_length data2)) >>= fun w__4 -> - let write_buffer = w__4 in - flush_write_buffer write_buffer >> - return (data1,data2) - | MemOp_LOAD -> - rMem - (empty_read_buffer, - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) (0:ii))), - dbytes, - acctype) >>= fun read_buffer -> - rMem - (read_buffer, - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) dbytes)), - dbytes, - acctype) >>= fun w__5 -> - let read_buffer = w__5 in - flush_read_buffer (read_buffer,dbytes * (2:ii)) >>= fun w__6 -> - let read_data = set_vector_start_to_length w__6 in - let data1 = - set_vector_start_to_length - (slice (set_vector_start_to_length read_data) (datasize - (1:ii)) (0:ii)) in - let data2 = - set_vector_start_to_length - (slice (set_vector_start_to_length read_data) ((datasize * (2:ii)) - (1:ii)) datasize) in - let (data1, data2) = - if bitU_to_bool rt_unknown - then - let data1 = set_vector_start_to_length (to_vec_dec (length data1,UNKNOWN)) in - let data2 = set_vector_start_to_length (to_vec_dec (length data1,UNKNOWN)) in - (data1,data2) - else (data1,data2) in - (if bitU_to_bool _signed - then - wX - (t, - reset_vector_start (set_vector_start_to_length - (SignExtend ((64:ii),reset_vector_start (set_vector_start_to_length data1))))) >> - wX - (t2, - reset_vector_start (set_vector_start_to_length - (SignExtend ((64:ii),reset_vector_start (set_vector_start_to_length data2))))) - else - wX (t,reset_vector_start (set_vector_start_to_length data1)) >> - wX (t2,reset_vector_start (set_vector_start_to_length data2))) >> - return (data1,data2) - end >>= fun (data1, data2) -> - return () - -let execute_AddSubImmediate (d, n, datasize, sub_op, setflags, imm) = - (if bitU_to_bool (eq_range (n, (31:ii))) - then - rSP datasize >>= fun w__0 -> - return (set_vector_start_to_length w__0) - else - rX (datasize,n) >>= fun w__1 -> - return (set_vector_start_to_length w__1)) >>= fun operand1 -> - let operand2 = set_vector_start_to_length imm in - let carry_in = B0 in - let (operand2, carry_in) = - if bitU_to_bool sub_op - then - let operand2 = - set_vector_start_to_length (NOT (reset_vector_start (set_vector_start_to_length operand2))) in - let carry_in = B1 in - (operand2,carry_in) - else - let carry_in = B0 in - (operand2,carry_in) in - let (result, nzcv) = - match (AddWithCarry - (reset_vector_start (set_vector_start_to_length operand1), - reset_vector_start (set_vector_start_to_length operand2), - carry_in)) with - | (v0v', v1v') -> (v0v',v1v') - end in - (if bitU_to_bool setflags - then wPSTATE_NZCV ((),reset_vector_start nzcv) - else return ()) >> - if bitU_to_bool ((eq_range (d, (31:ii))) &. (~setflags)) - then wSP ((),reset_vector_start (set_vector_start_to_length result)) - else wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute_BitfieldMove (d, n, datasize, inzero, extend, R, S, wmask, tmask) = - (if bitU_to_bool inzero - then return (set_vector_start_to_length (Zeros datasize)) - else - rX (datasize,d) >>= fun w__0 -> - return (set_vector_start_to_length w__0)) >>= fun dst -> - rX (datasize,n) >>= fun w__1 -> - let src = set_vector_start_to_length w__1 in - let bot = - set_vector_start_to_length - (bitwise_or - (set_vector_start_to_length - (bitwise_and - (set_vector_start_to_length dst, - set_vector_start_to_length - (NOT (reset_vector_start (set_vector_start_to_length wmask))))), - set_vector_start_to_length - (bitwise_and - (set_vector_start_to_length - (ROR (reset_vector_start (set_vector_start_to_length src),R)), - set_vector_start_to_length wmask)))) in - let top = - if bitU_to_bool extend - then - set_vector_start_to_length - (Replicate - (length bot, - reset_vector_start (set_vector_start_to_length - (Vector [access (set_vector_start_to_length src) S] 0 false)))) - else set_vector_start_to_length dst in - wX - (d, - reset_vector_start (set_vector_start_to_length - (bitwise_or - (set_vector_start_to_length - (bitwise_and - (set_vector_start_to_length top, - set_vector_start_to_length - (NOT (reset_vector_start (set_vector_start_to_length tmask))))), - set_vector_start_to_length - (bitwise_and (set_vector_start_to_length bot, set_vector_start_to_length tmask)))))) - -let execute_ExtractRegister (d, n, m, datasize, lsb) = - let result = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - rX (datasize,m) >>= fun w__1 -> - let operand2 = set_vector_start_to_length w__1 in - let concat = - set_vector_start_to_length - ((set_vector_start_to_length operand1) ^^ (set_vector_start_to_length operand2)) in - let result = - set_vector_start_to_length - (slice (set_vector_start_to_length concat) ((lsb + datasize) - (1:ii)) lsb) in - wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute_LogicalImmediate (d, n, datasize, setflags, op, imm) = - let result = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - let operand2 = set_vector_start_to_length imm in - let result = - match op with - | LogicalOp_AND -> - set_vector_start_to_length - (bitwise_and (set_vector_start_to_length operand1, set_vector_start_to_length operand2)) - | LogicalOp_ORR -> - set_vector_start_to_length - (bitwise_or (set_vector_start_to_length operand1, set_vector_start_to_length operand2)) - | LogicalOp_EOR -> - set_vector_start_to_length - (bitwise_xor (set_vector_start_to_length operand1, set_vector_start_to_length operand2)) - end in - (if bitU_to_bool setflags - then - wPSTATE_NZCV - ((), - reset_vector_start (set_vector_start 3 - ((set_vector_start_to_length - (Vector [access (set_vector_start_to_length result) ((length - (reset_vector_start (set_vector_start_to_length - result))) - (1:ii))] 0 false)) ^^ - (set_vector_start_to_length - ((set_vector_start_to_length - (Vector [IsZeroBit (reset_vector_start (set_vector_start_to_length result))] 0 false)) ^^ - (set_vector_start_to_length (Vector [B0;B0] 1 false))))))) - else return ()) >> - if bitU_to_bool ((eq_range (d, (31:ii))) &. (~setflags)) - then wSP ((),reset_vector_start (set_vector_start_to_length result)) - else wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute_MoveWide (d, datasize, imm, pos, opcode) = - let result = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - (if bitU_to_bool (eq (opcode, MoveWideOp_K)) - then - rX (datasize,d) >>= fun w__0 -> - return (set_vector_start_to_length w__0) - else - let result = set_vector_start_to_length (Zeros datasize) in - return result) >>= fun result -> - let result = update result (pos + (15:ii)) pos (set_vector_start_to_length imm) in - let result = - if bitU_to_bool (eq (opcode, MoveWideOp_N)) - then set_vector_start_to_length (NOT (reset_vector_start (set_vector_start_to_length result))) - else result in - wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute_Address (d, page, imm) = - rPC () >>= fun base -> - let base = if bitU_to_bool page then update base (11:ii) (0:ii) (Zeros (12:ii)) else base in - wX - (d, - reset_vector_start (set_vector_start_to_length - (add_VVV - (reset_vector_start (set_vector_start_to_length base)) - (reset_vector_start (set_vector_start_to_length imm))))) - -let execute_AddSubExtendRegister (d, n, m, datasize, sub_op, setflags, extend_type, shift) = - (if bitU_to_bool (eq_range (n, (31:ii))) - then - rSP datasize >>= fun w__0 -> - return (set_vector_start_to_length w__0) - else - rX (datasize,n) >>= fun w__1 -> - return (set_vector_start_to_length w__1)) >>= fun operand1 -> - ExtendReg (datasize,m,extend_type,shift) >>= fun w__2 -> - let operand2 = set_vector_start_to_length w__2 in - let carry_in = B0 in - let (operand2, carry_in) = - if bitU_to_bool sub_op - then - let operand2 = - set_vector_start_to_length (NOT (reset_vector_start (set_vector_start_to_length operand2))) in - let carry_in = B1 in - (operand2,carry_in) - else - let carry_in = B0 in - (operand2,carry_in) in - let (result, nzcv) = - match (AddWithCarry - (reset_vector_start (set_vector_start_to_length operand1), - reset_vector_start (set_vector_start_to_length operand2), - carry_in)) with - | (v2v', v3v') -> (v2v',v3v') - end in - (if bitU_to_bool setflags - then wPSTATE_NZCV ((),reset_vector_start nzcv) - else return ()) >> - if bitU_to_bool ((eq_range (d, (31:ii))) &. (~setflags)) - then wSP ((),reset_vector_start (set_vector_start_to_length result)) - else wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute_AddSubShiftedRegister (d, n, m, datasize, sub_op, setflags, shift_type, shift_amount) = - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - ShiftReg (datasize,m,shift_type,shift_amount) >>= fun w__1 -> - let operand2 = set_vector_start_to_length w__1 in - let carry_in = B0 in - let (operand2, carry_in) = - if bitU_to_bool sub_op - then - let operand2 = - set_vector_start_to_length (NOT (reset_vector_start (set_vector_start_to_length operand2))) in - let carry_in = B1 in - (operand2,carry_in) - else - let carry_in = B0 in - (operand2,carry_in) in - let (result, nzcv) = - match (AddWithCarry - (reset_vector_start (set_vector_start_to_length operand1), - reset_vector_start (set_vector_start_to_length operand2), - carry_in)) with - | (v4v', v5v') -> (v4v',v5v') - end in - (if bitU_to_bool setflags - then wPSTATE_NZCV ((),reset_vector_start nzcv) - else return ()) >> - wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute_AddSubCarry (d, n, m, datasize, sub_op, setflags) = - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - rX (datasize,m) >>= fun w__1 -> - let operand2 = set_vector_start_to_length w__1 in - let operand2 = - if bitU_to_bool sub_op - then set_vector_start_to_length (NOT (reset_vector_start (set_vector_start_to_length operand2))) - else operand2 in - read_reg_bitfield NZCV "C" >>= fun w__2 -> - let (result, nzcv) = - match (AddWithCarry - (reset_vector_start (set_vector_start_to_length operand1), - reset_vector_start (set_vector_start_to_length operand2), - w__2)) with - | (v6v', v7v') -> (v6v',v7v') - end in - (if bitU_to_bool setflags - then wPSTATE_NZCV ((),reset_vector_start nzcv) - else return ()) >> - wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute_ConditionalCompareImmediate (n, datasize, sub_op, condition, flags, imm) = - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - let operand2 = set_vector_start_to_length imm in - let carry_in = B0 in - let flags' = flags in - ConditionHolds (reset_vector_start condition) >>= fun w__1 -> - let (operand2, carry_in, flags') = - if bitU_to_bool w__1 - then - let (operand2, carry_in) = - if bitU_to_bool sub_op - then - let operand2 = - set_vector_start_to_length - (NOT (reset_vector_start (set_vector_start_to_length operand2))) in - let carry_in = B1 in - (operand2,carry_in) - else (operand2,carry_in) in - let (_, nzcv) = - match (AddWithCarry - (reset_vector_start (set_vector_start_to_length operand1), - reset_vector_start (set_vector_start_to_length operand2), - carry_in)) with - | (v8v', v9v') -> (v8v',v9v') - end in - let flags' = nzcv in - (operand2,carry_in,flags') - else (operand2,carry_in,flags') in - wPSTATE_NZCV ((),reset_vector_start flags') - -let execute_ConditionalCompareRegister (n, m, datasize, sub_op, condition, flags) = - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - rX (datasize,m) >>= fun w__1 -> - let operand2 = set_vector_start_to_length w__1 in - let carry_in = B0 in - let flags' = flags in - ConditionHolds (reset_vector_start condition) >>= fun w__2 -> - let (operand2, carry_in, flags') = - if bitU_to_bool w__2 - then - let (operand2, carry_in) = - if bitU_to_bool sub_op - then - let operand2 = - set_vector_start_to_length - (NOT (reset_vector_start (set_vector_start_to_length operand2))) in - let carry_in = B1 in - (operand2,carry_in) - else (operand2,carry_in) in - let (_, nzcv) = - match (AddWithCarry - (reset_vector_start (set_vector_start_to_length operand1), - reset_vector_start (set_vector_start_to_length operand2), - carry_in)) with - | (v10v', v11v') -> (v10v',v11v') - end in - let flags' = nzcv in - (operand2,carry_in,flags') - else (operand2,carry_in,flags') in - wPSTATE_NZCV ((),reset_vector_start flags') - -let execute_ConditionalSelect (d, n, m, datasize, condition, else_inv, else_inc) = - let result = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - rX (datasize,m) >>= fun w__1 -> - let operand2 = set_vector_start_to_length w__1 in - ConditionHolds (reset_vector_start condition) >>= fun w__2 -> - let result = - if bitU_to_bool w__2 - then set_vector_start_to_length operand1 - else - let result = set_vector_start_to_length operand2 in - let result = - if bitU_to_bool else_inv - then - set_vector_start_to_length (NOT (reset_vector_start (set_vector_start_to_length result))) - else result in - if bitU_to_bool else_inc - then - set_vector_start_to_length - (add_VIV (reset_vector_start (set_vector_start_to_length result)) (1:ii)) - else result in - wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute_Reverse (d, n, datasize, op) = - let result = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - let V = to_vec_dec ((6:ii),(0:ii)) in - let V = - match op with - | RevOp_REV16 -> Vector [B0;B0;B1;B0;B0;B0] 5 false - | RevOp_REV32 -> Vector [B0;B1;B1;B0;B0;B0] 5 false - | RevOp_REV64 -> Vector [B1;B1;B1;B0;B0;B0] 5 false - | RevOp_RBIT -> - if bitU_to_bool (eq_range (datasize, (64:ii))) - then Vector [B1;B1;B1;B1;B1;B1] 5 false - else Vector [B0;B1;B1;B1;B1;B1] 5 false - end in - rX (datasize,n) >>= fun w__0 -> - let result = set_vector_start_to_length w__0 in - let result = - (foreach_inc ((0:ii),(5:ii),(1:ii)) result - (fun vbit result -> - if bitU_to_bool (eq (match (access V vbit) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then - let tmp = set_vector_start_to_length result in - let vsize = lsl' ((1:ii),vbit) in - (foreach_inc ((0:ii),datasize - (1:ii),(2:ii) * vsize) result - (fun base result -> - let result = - update - result ((base + vsize) - (1:ii)) base - (set_vector_start_to_length - (slice (set_vector_start_to_length tmp) - ((base + ((2:ii) * vsize)) - (1:ii)) (base + vsize))) in - update - result ((base + ((2:ii) * vsize)) - (1:ii)) (base + vsize) - (set_vector_start_to_length - (slice (set_vector_start_to_length tmp) ((base + vsize) - (1:ii)) base)))) - else result)) in - wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute_CountLeading (d, n, datasize, opcode) = - let result = (0:ii) in - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - let result = - if bitU_to_bool (eq (opcode, CountOp_CLZ)) - then CountLeadingZeroBits (reset_vector_start (set_vector_start_to_length operand1)) - else CountLeadingSignBits (reset_vector_start (set_vector_start_to_length operand1)) in - wX (d,reset_vector_start (set_vector_start_to_length (to_vec_dec (datasize,result)))) - -let execute_Division (d, n, m, datasize, _unsigned) = - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - rX (datasize,m) >>= fun w__1 -> - let operand2 = set_vector_start_to_length w__1 in - let result = (0:ii) in - let result = - if bitU_to_bool (IsZero (reset_vector_start (set_vector_start_to_length operand2))) - then (0:ii) - else - quot - (Int (reset_vector_start (set_vector_start_to_length operand1),_unsigned)) - (Int (reset_vector_start (set_vector_start_to_length operand2),_unsigned)) in - wX (d,reset_vector_start (set_vector_start_to_length (to_vec_dec (datasize,result)))) - -let execute_Shift (d, n, m, datasize, shift_type) = - let result = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - rX (datasize,m) >>= fun w__0 -> - let operand2 = set_vector_start_to_length w__0 in - ShiftReg - (datasize, - n, - shift_type, - modulo (UInt (reset_vector_start (set_vector_start_to_length operand2))) datasize) >>= fun w__1 -> - let result = set_vector_start_to_length w__1 in - wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute_CRC (d, n, m, size, crc32c) = - (if bitU_to_bool (~(HaveCRCExt ())) - then UnallocatedEncoding () - else return ()) >> - rX ((32:ii),n) >>= fun acc -> - rX (size,m) >>= fun w__0 -> - let _val = set_vector_start_to_length w__0 in - let poly = - if bitU_to_bool crc32c - then - Vector [B0;B0;B0;B1;B1;B1;B1;B0;B1;B1;B0;B1;B1;B1;B0;B0;B0;B1;B1;B0;B1; - B1;B1;B1;B0;B1;B0;B0;B0;B0;B0;B1] 31 false - else - Vector [B0;B0;B0;B0;B0;B1;B0;B0;B1;B1;B0;B0;B0;B0;B0;B1;B0;B0;B0;B1;B1; - B1;B0;B1;B1;B0;B1;B1;B0;B1;B1;B1] 31 false in - let tempacc = - set_vector_start_to_length - ((set_vector_start_to_length - (BitReverse (reset_vector_start (set_vector_start_to_length acc)))) ^^ - (set_vector_start_to_length (set_vector_start_to_length (Zeros (length _val))))) in - let tempval = - set_vector_start_to_length - ((set_vector_start_to_length - (BitReverse (reset_vector_start (set_vector_start_to_length _val)))) ^^ - (Zeros (32:ii))) in - wX - (d, - reset_vector_start (set_vector_start_to_length - (BitReverse - (reset_vector_start (set_vector_start_to_length - (Poly32Mod2 - (reset_vector_start (set_vector_start_to_length - (bitwise_xor - (set_vector_start_to_length tempacc, - set_vector_start_to_length tempval))), - reset_vector_start poly))))))) - -let execute_MultiplyAddSub (d, n, m, a, destsize, datasize, sub_op) = - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - rX (datasize,m) >>= fun w__1 -> - let operand2 = set_vector_start_to_length w__1 in - rX (destsize,a) >>= fun w__2 -> - let operand3 = set_vector_start_to_length w__2 in - let result = (0:ii) in - let result = - if bitU_to_bool sub_op - then - (UInt (reset_vector_start (set_vector_start_to_length operand3))) - - ((UInt (reset_vector_start (set_vector_start_to_length operand1))) * - (UInt (reset_vector_start (set_vector_start_to_length operand2)))) - else - (UInt (reset_vector_start (set_vector_start_to_length operand3))) + - ((UInt (reset_vector_start (set_vector_start_to_length operand1))) * - (UInt (reset_vector_start (set_vector_start_to_length operand2)))) in - wX (d,reset_vector_start (set_vector_start_to_length (to_vec_dec (destsize,result)))) - -let execute_MultiplyAddSubLong (d, n, m, a, destsize, datasize, sub_op, _unsigned) = - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - rX (datasize,m) >>= fun w__1 -> - let operand2 = set_vector_start_to_length w__1 in - rX (destsize,a) >>= fun w__2 -> - let operand3 = set_vector_start_to_length w__2 in - let result = (0:ii) in - let result = - if bitU_to_bool sub_op - then - (Int (reset_vector_start (set_vector_start_to_length operand3),_unsigned)) - - ((Int (reset_vector_start (set_vector_start_to_length operand1),_unsigned)) * - (Int (reset_vector_start (set_vector_start_to_length operand2),_unsigned))) - else - (Int (reset_vector_start (set_vector_start_to_length operand3),_unsigned)) + - ((Int (reset_vector_start (set_vector_start_to_length operand1),_unsigned)) * - (Int (reset_vector_start (set_vector_start_to_length operand2),_unsigned))) in - wX (d,reset_vector_start (set_vector_start_to_length (to_vec_dec ((64:ii),result)))) - -let execute_MultiplyHigh (d, n, m, a, destsize, datasize, _unsigned) = - rX (destsize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - rX (destsize,m) >>= fun w__1 -> - let operand2 = set_vector_start_to_length w__1 in - let result = (0:ii) in - let result = - (Int (reset_vector_start (set_vector_start_to_length operand1),_unsigned)) * - (Int (reset_vector_start (set_vector_start_to_length operand2),_unsigned)) in - wX - (d, - reset_vector_start (set_vector_start_to_length - (slice (to_vec_dec ((128:ii),result)) (127:ii) (64:ii)))) - -let execute_LogicalShiftedRegister (d, n, m, datasize, setflags, op, shift_type, shift_amount, invert) = - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - ShiftReg (datasize,m,shift_type,shift_amount) >>= fun w__1 -> - let operand2 = set_vector_start_to_length w__1 in - let operand2 = - if bitU_to_bool invert - then set_vector_start_to_length (NOT (reset_vector_start (set_vector_start_to_length operand2))) - else operand2 in - let result = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - let result = - match op with - | LogicalOp_AND -> - set_vector_start_to_length - (bitwise_and (set_vector_start_to_length operand1, set_vector_start_to_length operand2)) - | LogicalOp_ORR -> - set_vector_start_to_length - (bitwise_or (set_vector_start_to_length operand1, set_vector_start_to_length operand2)) - | LogicalOp_EOR -> - set_vector_start_to_length - (bitwise_xor (set_vector_start_to_length operand1, set_vector_start_to_length operand2)) - end in - (if bitU_to_bool setflags - then - wPSTATE_NZCV - ((), - reset_vector_start (set_vector_start 3 - ((set_vector_start_to_length - (Vector [access (set_vector_start_to_length result) (datasize - (1:ii))] 0 false)) ^^ - (set_vector_start_to_length - ((set_vector_start_to_length - (Vector [IsZeroBit (reset_vector_start (set_vector_start_to_length result))] 0 false)) ^^ - (set_vector_start_to_length (Vector [B0;B0] 1 false))))))) - else return ()) >> - wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute = function - - | TMStart (t) -> execute_TMStart (t) - | TMCommit -> execute_TMCommit () - | TMTest -> execute_TMTest () - | TMAbort (retry,reason) -> execute_TMAbort (retry,reason) - | CompareAndBranch (t,datasize,iszero,offset) -> execute_CompareAndBranch (t,datasize,iszero,offset) - | BranchConditional (offset,condition) -> execute_BranchConditional (offset,condition) - | GenerateExceptionEL1 (imm) -> execute_GenerateExceptionEL1 (imm) - | GenerateExceptionEL2 (imm) -> execute_GenerateExceptionEL2 (imm) - | GenerateExceptionEL3 (imm) -> execute_GenerateExceptionEL3 (imm) - | DebugBreakpoint (comment) -> execute_DebugBreakpoint (comment) - | ExternalDebugBreakpoint -> execute_ExternalDebugBreakpoint () - | DebugSwitchToExceptionLevel (target_level) -> execute_DebugSwitchToExceptionLevel (target_level) - | MoveSystemImmediate (operand,field') -> execute_MoveSystemImmediate (operand,field') - | Hint (op) -> execute_Hint (op) - | ClearExclusiveMonitor (imm) -> execute_ClearExclusiveMonitor (imm) - | Barrier (op,domain,types) -> execute_Barrier (op,domain,types) - | System (t,sys_op0,sys_op1,sys_op2,sys_crn,sys_crm,has_result) -> execute_System (t,sys_op0,sys_op1,sys_op2,sys_crn,sys_crm,has_result) - | MoveSystemRegister (t,sys_op0,sys_op1,sys_op2,sys_crn,sys_crm,read) -> execute_MoveSystemRegister (t,sys_op0,sys_op1,sys_op2,sys_crn,sys_crm,read) - | ImplementationDefinedTestBeginEnd (isEnd) -> execute_ImplementationDefinedTestBeginEnd (isEnd) - | ImplementationDefinedStopFetching -> execute_ImplementationDefinedStopFetching () - | ImplementationDefinedThreadStart -> execute_ImplementationDefinedThreadStart () - | TestBitAndBranch (t,datasize,bit_pos,bit_val,offset) -> execute_TestBitAndBranch (t,datasize,bit_pos,bit_val,offset) - | BranchImmediate (branch_type,offset) -> execute_BranchImmediate (branch_type,offset) - | BranchRegister (n,branch_type) -> execute_BranchRegister (n,branch_type) - | ExceptionReturn -> execute_ExceptionReturn () - | DebugRestorePState -> execute_DebugRestorePState () - | LoadLiteral (t,memop,_signed,size,offset,datasize) -> execute_LoadLiteral (t,memop,_signed,size,offset,datasize) - | LoadStoreAcqExc (n,t,t2,s,acctype,excl,pair,memop,elsize,regsize,datasize) -> execute_LoadStoreAcqExc (n,t,t2,s,acctype,excl,pair,memop,elsize,regsize,datasize) - | LoadStorePairNonTemp (wback,postindex,n,t,t2,acctype,memop,scale,datasize,offset) -> execute_LoadStorePairNonTemp (wback,postindex,n,t,t2,acctype,memop,scale,datasize,offset) - | LoadImmediate (n,t,acctype,memop,_signed,wback,postindex,offset,regsize,datasize) -> execute_LoadImmediate (n,t,acctype,memop,_signed,wback,postindex,offset,regsize,datasize) - | LoadRegister (n,t,m,acctype,memop,_signed,wback,postindex,extend_type,shift,regsize,datasize) -> execute_LoadRegister (n,t,m,acctype,memop,_signed,wback,postindex,extend_type,shift,regsize,datasize) - | LoadStorePair (wback,postindex,n,t,t2,acctype,memop,_signed,datasize,offset) -> execute_LoadStorePair (wback,postindex,n,t,t2,acctype,memop,_signed,datasize,offset) - | AddSubImmediate (d,n,datasize,sub_op,setflags,imm) -> execute_AddSubImmediate (d,n,datasize,sub_op,setflags,imm) - | BitfieldMove (d,n,datasize,inzero,extend,R,S,wmask,tmask) -> execute_BitfieldMove (d,n,datasize,inzero,extend,R,S,wmask,tmask) - | ExtractRegister (d,n,m,datasize,lsb) -> execute_ExtractRegister (d,n,m,datasize,lsb) - | LogicalImmediate (d,n,datasize,setflags,op,imm) -> execute_LogicalImmediate (d,n,datasize,setflags,op,imm) - | MoveWide (d,datasize,imm,pos,opcode) -> execute_MoveWide (d,datasize,imm,pos,opcode) - | Address (d,page,imm) -> execute_Address (d,page,imm) - | AddSubExtendRegister (d,n,m,datasize,sub_op,setflags,extend_type,shift) -> execute_AddSubExtendRegister (d,n,m,datasize,sub_op,setflags,extend_type,shift) - | AddSubShiftedRegister (d,n,m,datasize,sub_op,setflags,shift_type,shift_amount) -> execute_AddSubShiftedRegister (d,n,m,datasize,sub_op,setflags,shift_type,shift_amount) - | AddSubCarry (d,n,m,datasize,sub_op,setflags) -> execute_AddSubCarry (d,n,m,datasize,sub_op,setflags) - | ConditionalCompareImmediate (n,datasize,sub_op,condition,flags,imm) -> execute_ConditionalCompareImmediate (n,datasize,sub_op,condition,flags,imm) - | ConditionalCompareRegister (n,m,datasize,sub_op,condition,flags) -> execute_ConditionalCompareRegister (n,m,datasize,sub_op,condition,flags) - | ConditionalSelect (d,n,m,datasize,condition,else_inv,else_inc) -> execute_ConditionalSelect (d,n,m,datasize,condition,else_inv,else_inc) - | Reverse (d,n,datasize,op) -> execute_Reverse (d,n,datasize,op) - | CountLeading (d,n,datasize,opcode) -> execute_CountLeading (d,n,datasize,opcode) - | Division (d,n,m,datasize,_unsigned) -> execute_Division (d,n,m,datasize,_unsigned) - | Shift (d,n,m,datasize,shift_type) -> execute_Shift (d,n,m,datasize,shift_type) - | CRC (d,n,m,size,crc32c) -> execute_CRC (d,n,m,size,crc32c) - | MultiplyAddSub (d,n,m,a,destsize,datasize,sub_op) -> execute_MultiplyAddSub (d,n,m,a,destsize,datasize,sub_op) - | MultiplyAddSubLong (d,n,m,a,destsize,datasize,sub_op,_unsigned) -> execute_MultiplyAddSubLong (d,n,m,a,destsize,datasize,sub_op,_unsigned) - | MultiplyHigh (d,n,m,a,destsize,datasize,_unsigned) -> execute_MultiplyHigh (d,n,m,a,destsize,datasize,_unsigned) - | LogicalShiftedRegister (d,n,m,datasize,setflags,op,shift_type,shift_amount,invert) -> execute_LogicalShiftedRegister (d,n,m,datasize,setflags,op,shift_type,shift_amount,invert) - end - diff --git a/aarch64_small/armV8_embed_sequential.lem b/aarch64_small/armV8_embed_sequential.lem deleted file mode 100644 index 21841fe1..00000000 --- a/aarch64_small/armV8_embed_sequential.lem +++ /dev/null @@ -1,5561 +0,0 @@ -(*Generated by Sail from armV8.sail.*) -open import Pervasives_extra -open import Sail_impl_base -open import State -open import Sail_values -open import ArmV8_embed_types -open import ArmV8_extras_embed_sequential -let lsl' (n, m) = n * (pow (2:ii) m) - -let not_implemented message = exit message - -let not_implemented_extern message = exit message - -let info message = () - -let UNKNOWN = (0:ii) - -let M32_User = Vector [B1;B0;B0;B0;B0] 4 false - -let M32_FIQ = Vector [B1;B0;B0;B0;B1] 4 false - -let M32_IRQ = Vector [B1;B0;B0;B1;B0] 4 false - -let M32_Svc = Vector [B1;B0;B0;B1;B1] 4 false - -let M32_Monitor = Vector [B1;B0;B1;B1;B0] 4 false - -let M32_Abort = Vector [B1;B0;B1;B1;B1] 4 false - -let M32_Hyp = Vector [B1;B1;B0;B1;B0] 4 false - -let M32_Undef = Vector [B1;B1;B0;B1;B1] 4 false - -let M32_System = Vector [B1;B1;B1;B1;B1] 4 false - -let EL3 = Vector [B1;B1] 1 false - -let EL2 = Vector [B1;B0] 1 false - -let EL1 = Vector [B0;B1] 1 false - -let EL0 = Vector [B0;B0] 1 false - -let DebugHalt_Breakpoint = Vector [B0;B0;B0;B1;B1;B1] 5 false - -let DebugHalt_EDBGRQ = Vector [B0;B1;B0;B0;B1;B1] 5 false - -let DebugHalt_Step_Normal = Vector [B0;B1;B1;B0;B1;B1] 5 false - -let DebugHalt_Step_Exclusive = Vector [B0;B1;B1;B1;B1;B1] 5 false - -let DebugHalt_OSUnlockCatch = Vector [B1;B0;B0;B0;B1;B1] 5 false - -let DebugHalt_ResetCatch = Vector [B1;B0;B0;B1;B1;B1] 5 false - -let DebugHalt_Watchpoint = Vector [B1;B0;B1;B0;B1;B1] 5 false - -let DebugHalt_HaltInstruction = Vector [B1;B0;B1;B1;B1;B1] 5 false - -let DebugHalt_SoftwareAccess = Vector [B1;B1;B0;B0;B1;B1] 5 false - -let DebugHalt_ExceptionCatch = Vector [B1;B1;B0;B1;B1;B1] 5 false - -let DebugHalt_Step_NoSyndrome = Vector [B1;B1;B1;B0;B1;B1] 5 false - -let HighestSetBit x = - let N = length (reset_vector_start (set_vector_start_to_length x)) in - let result = (0:ii) in - let break = B0 in - let (break, result) = - (foreach_dec (N - (1:ii),(0:ii),(1:ii)) (break,result) - (fun i (break,result) -> - let (result, break) = - if bitU_to_bool - ((~break) &. - (eq - (match (access (set_vector_start_to_length x) i) with - | B0 -> (0:ii) - | B1 -> (1:ii) - end, - (1:ii)))) - then - let result = i in - let break = B1 in - (result,break) - else (result,break) in - (break,result))) in - if bitU_to_bool break - then Just result - else Nothing - -let IsZero x = eq_vec_range (set_vector_start_to_length x, (0:ii)) - -let NOT x = - set_vector_start_to_length (bitwise_not (reset_vector_start (set_vector_start_to_length x))) - -let NOT' x = ~x - -let SInt x = signed (reset_vector_start (set_vector_start_to_length x)) - -let UInt x = unsigned (reset_vector_start (set_vector_start_to_length x)) - -let Zeros N' = set_vector_start_to_length (to_vec_dec (N',(0:ii))) - -let BitReverse data = - let N = length (reset_vector_start (set_vector_start_to_length data)) in - let result = set_vector_start_to_length (to_vec_dec (length data,(0:ii))) in - (foreach_inc ((0:ii),N - (1:ii),(1:ii)) result - (fun i result -> - update_pos result ((N - i) - (1:ii)) (access (set_vector_start_to_length data) i))) - -let ELUsingAArch32 el = B0 - -let Hint_Yield () = () - -let SendEvent () = () - -let Unreachable () = assert' B0 (Just "Unreachable reached") - -let UsingAArch32 () = B0 - -let _Rs = - Vector ["R30";"R29";"R28";"R27";"R26";"R25";"R24";"R23";"R22";"R21";"R20";"R19";"R18";"R17";"R16";"R15";"R14";"R13";"R12";"R11";"R10"; - "R9";"R8";"R7";"R6";"R5";"R4";"R3";"R2";"R1";"R0"] 30 false - -let IMPLEMENTATION_DEFINED = - <| IMPLEMENTATION_DEFINED_type_HaveCRCExt = B1; - IMPLEMENTATION_DEFINED_type_HaveAArch32EL = B0; - IMPLEMENTATION_DEFINED_type_HaveAnyAArch32 = B0; - IMPLEMENTATION_DEFINED_type_HaveEL2 = B0; - IMPLEMENTATION_DEFINED_type_HaveEL3 = B0; - IMPLEMENTATION_DEFINED_type_HighestELUsingAArch32 = B0; - IMPLEMENTATION_DEFINED_type_IsSecureBelowEL3 = B0 |> - -let AArch64_ResetControlRegisters cold_reset = () - -let DCPSInstruction target_el = not_implemented "DCPSInstruction" - -let DRPSInstruction () = not_implemented "DRPSInstruction" - -let Halt reason = not_implemented "Halt" - -let Align' (x, y) = y * (quot x y) - -let CountLeadingZeroBits x = - match (HighestSetBit (reset_vector_start (set_vector_start_to_length x))) with - | Nothing -> length (reset_vector_start (set_vector_start_to_length x)) - | Just (n) -> ((length (reset_vector_start (set_vector_start_to_length x))) - (1:ii)) - n - end - -let IsZeroBit x = - if bitU_to_bool (IsZero (reset_vector_start (set_vector_start_to_length x))) - then B1 - else B0 - -let LSL_C (x, shift) = - let extended_x = - set_vector_start_to_length - ((set_vector_start_to_length x) ^^ - (set_vector_start_to_length (set_vector_start_to_length (Zeros shift)))) in - let result = - set_vector_start_to_length - (set_vector_start_to_length - (mask (length x,reset_vector_start (set_vector_start_to_length extended_x)))) in - let carry_out = - access (set_vector_start_to_length extended_x) (length - (reset_vector_start (set_vector_start_to_length - x))) in - (set_vector_start_to_length result,carry_out) - -let Min (a, b) = if bitU_to_bool (lteq (a, b)) then a else b - -let uMin (a, b) = if bitU_to_bool (lteq (a, b)) then a else b - -let Replicate (N', x) = - let (N, M) = - (length (reset_vector_start (set_vector_start_to_length (to_vec_dec (N',(0:ii))))),length - (reset_vector_start (set_vector_start_to_length - (to_vec_dec - (length - x, - (0:ii)))))) in - let _ = assert' (eq_range (modulo N M, (0:ii))) (Nothing) in - let result = set_vector_start_to_length (to_vec_dec (N',(0:ii))) in - let zeros = set_vector_start_to_length (Zeros ((length result) - (length x))) in - (foreach_inc (M,N,M) result - (fun i result -> - set_vector_start_to_length - (bitwise_or - (set_vector_start_to_length (bitwise_leftshift (set_vector_start_to_length result, M)), - set_vector_start_to_length - ((set_vector_start_to_length zeros) ^^ (set_vector_start_to_length x)))))) - -let ZeroExtend (N', x) = - set_vector_start_to_length - ((set_vector_start_to_length - (set_vector_start_to_length (Zeros (N' + ((length x) * ((0-1):ii)))))) ^^ - (set_vector_start_to_length x)) - -let Poly32Mod2 (data, poly) = - let result = set_vector_start_to_length data in - let N = length (reset_vector_start (set_vector_start_to_length data)) in - let _ = assert' (gt (N, (32:ii))) (Nothing) in - let data' = set_vector_start_to_length data in - let zeros = set_vector_start_to_length (Zeros ((length data) - (32:ii))) in - let data' = - (foreach_dec (N - (1:ii),(32:ii),(1:ii)) data' - (fun i data' -> - if bitU_to_bool - (eq - (match (access (set_vector_start_to_length data') i) with - | B0 -> (0:ii) - | B1 -> (1:ii) - end, - (1:ii))) - then - update - data' (i - (1:ii)) (0:ii) - (set_vector_start_to_length - (bitwise_xor - (set_vector_start_to_length - (slice (set_vector_start_to_length data') (i - (1:ii)) (0:ii)), - set_vector_start_to_length - ((set_vector_start_to_length poly) ^^ - (set_vector_start_to_length - (slice (set_vector_start_to_length zeros) (i - (33:ii)) (0:ii))))))) - else data')) in - slice (set_vector_start_to_length data') (31:ii) (0:ii) - -let ClearExclusiveLocal processorid = - info "The model does not implement the exclusive monitors explicitly." - -let ProcessorID () = (0:ii) - -let rec BigEndianReverse value = - let width = length (reset_vector_start (set_vector_start_to_length value)) in - let half = quot width (2:ii) in - if bitU_to_bool (eq_range (width, (8:ii))) - then set_vector_start_to_length value - else - set_vector_start_to_length - ((set_vector_start_to_length - (BigEndianReverse - (reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length value) (half - (1:ii)) (0:ii)))))) ^^ - (set_vector_start_to_length - (BigEndianReverse - (reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length value) (width - (1:ii)) half)))))) - -let ClearEventRegister () = not_implemented_extern "ClearEventRegister" - -let EventRegisterSet () = not_implemented_extern "EventRegisterSet" - -let EventRegistered () = not_implemented_extern "EventRegistered" - -let InterruptPending () = not_implemented_extern "InterruptPending" - -let WaitForEvent () = not_implemented_extern "WaitForEvent" - -let WaitForInterrupt () = not_implemented_extern "WaitForInterrupt" - -let AArch64_SPAlignmentFault () = not_implemented "AArch64_SPAlignmentFault" - -let AArch64_SoftwareBreakpoint immediate = not_implemented "AArch64_SoftwareBreakpoint" - -let AArch64_CallHypervisor immediate = not_implemented "AArch64_CallHypervisor" - -let AArch64_CallSecureMonitor immediate = not_implemented "AArch64_CallSecureMonitor" - -let AArch64_CallSupervisor immediate = not_implemented "AArch64_CallSupervisor" - -let AArch64_SystemRegisterTrap (target_el, op0, op2, op1, crn, rt, crm, dir) = - not_implemented "AArch64_SystemRegisterTrap" - -let AArch64_UndefinedFault () = not_implemented "AArch64_UndefinedFault" - -let rPC () = read_reg _PC - -let AArch64_ExceptionReturn (new_pc, spsr) = not_implemented "AArch64_ExceptionReturn" - -let UInt_reg x = unsigned x - -let signalDBGEN () = not_implemented_extern "signalDBGEN" - -let signelNIDEN () = not_implemented_extern "signalNIDEN" - -let signalSPIDEN () = not_implemented_extern "signalSPIDEN" - -let signalDPNIDEN () = not_implemented_extern "signalSPNIDEN" - -let Halted () = - read_reg_field EDSCR "STATUS" >>= fun w__0 -> - read_reg_field EDSCR "STATUS" >>= fun w__1 -> - return (~((eq_vec - (set_vector_start_to_length w__0, - set_vector_start_to_length (Vector [B0;B0;B0;B0;B0;B1] 5 false))) |. - (eq_vec - (set_vector_start_to_length w__1, - set_vector_start_to_length (Vector [B0;B0;B0;B0;B1;B0] 5 false))))) - -let HaveCRCExt () = IMPLEMENTATION_DEFINED.IMPLEMENTATION_DEFINED_type_HaveCRCExt - -let ExclusiveMonitorsStatus () = - let _ = info "The model does not implement the exclusive monitors explicitly." in - not_implemented "ExclusiveMonitorsStatus should not be called" >> - return B0 - -let Hint_Branch hint = - info "This hint can be used for hardware optimization that has no effect on the model." - -let ResetExternalDebugRegisters b = not_implemented_extern "ResetExternalDebugRegisters" - -let HaveAnyAArch32 () = IMPLEMENTATION_DEFINED.IMPLEMENTATION_DEFINED_type_HaveAnyAArch32 - -let AArch64_WFxTrap (target_el, is_wfe) = not_implemented "AArch64_WFxTrap" - -let AArch64_CheckUnallocatedSystemAccess (op0, op1, crn, crm, op2, read) = - match (op0,op1,crn,crm,op2,read) with - | (Vector [B0;B0] _ _, Vector [B0;B0;B0] _ _, Vector [B0;B1;B0;B0] _ _, _, Vector [B1;B0;B1] _ _, _) -> - read_reg_field CurrentEL "EL" >>= fun w__0 -> - return (lt_vec (set_vector_start_to_length w__0, set_vector_start_to_length EL1)) - | (Vector [B0;B0] _ _, Vector [B0;B1;B1] _ _, Vector [B0;B1;B0;B0] _ _, _, Vector [B1;B1;B0] _ _, _) -> - return B0 - | (Vector [B0;B0] _ _, Vector [B0;B1;B1] _ _, Vector [B0;B1;B0;B0] _ _, _, Vector [B1;B1;B1] _ _, _) -> - return B0 - | (Vector [B1;B1] _ _, Vector [B0;B1;B1] _ _, Vector [B0;B1;B0;B0] _ _, Vector [B0;B0;B1;B0] _ _, Vector [B0;B0;B0] _ _, _) -> - return B0 - | (Vector [B1;B1] _ _, Vector [B0;B1;B1] _ _, Vector [B0;B1;B0;B0] _ _, Vector [B0;B0;B1;B0] _ _, Vector [B0;B0;B1] _ _, _) -> - return B0 - end - -let SysOp_R (op0, op1, crn, crm, op2) = - not_implemented "SysOp_R" >> - return (to_vec_dec ((64:ii),(0:ii))) - -let SysOp_W (op0, op1, crn, crm, op2, _val) = not_implemented "SysOp_W" - -let TxNestingLevelfp = RFull "TxNestingLevel" - -let TXIDR_EL0_DEPTHfp = RField ("TXIDR_EL0","DEPTH") - -let PSTATE_Nfp = RField ("NZCV","N") - -let PSTATE_Zfp = RField ("NZCV","Z") - -let PSTATE_Cfp = RField ("NZCV","C") - -let PSTATE_Vfp = RField ("NZCV","V") - -let PSTATE_Dfp = RField ("DAIF","D") - -let PSTATE_Afp = RField ("DAIF","A") - -let PSTATE_Ifp = RField ("DAIF","I") - -let PSTATE_Ffp = RField ("DAIF","F") - -let PSTATE_ELfp = RFull "CurrentEL" - -let PSTATE_SPfp = RField ("SPSel","SP") - -let _PCfp = RFull "_PC" - -let Hint_Prefetch (addr, hint, target, stream) = () - -let AArch64_IsExclusiveVA (address, processorid, size) = - let _ = info "The model does not implement the exclusive monitors explicitly." in - B1 - -let AArch64_MarkExclusiveVA (address, processorid, size) = - info "The model does not implement the exclusive monitors explicitly." - -let wPSTATE_NZCV ((), Vector [n;z;c;v] _ _) = - write_reg_bitfield NZCV "N" n >> - write_reg_bitfield NZCV "Z" z >> - write_reg_bitfield NZCV "C" c >> - write_reg_bitfield NZCV "V" v - -let wPSTATE_DAIF ((), Vector [d;a;i;f] _ _) = - write_reg_bitfield DAIF "D" d >> - write_reg_bitfield DAIF "A" a >> - write_reg_bitfield DAIF "I" i >> - write_reg_bitfield DAIF "F" f - -let Int (x, unsigned) = - if bitU_to_bool unsigned - then UInt (reset_vector_start (set_vector_start_to_length x)) - else SInt (reset_vector_start (set_vector_start_to_length x)) - -let ClearExclusiveByAddress (paddress, processorid, size) = - info "The model does not implement the exclusive monitors explicitly." - -let IsExclusiveGlobal (paddress, processorid, size) = - let _ = info "The model does not implement the exclusive monitors explicitly." in - B1 - -let IsExclusiveLocal (paddress, processorid, size) = - let _ = info "The model does not implement the exclusive monitors explicitly." in - B1 - -let MarkExclusiveGlobal (paddress, processorid, size) = - info "The model does not implement the exclusive monitors explicitly." - -let MarkExclusiveLocal (paddress, processorid, size) = - info "The model does not implement the exclusive monitors explicitly." - -let PAMax () = - let pa_size = (0:ii) in - read_reg_field ID_AA64MMFR0_EL1 "PARange" >>= fun w__0 -> - let pa_size = - match w__0 with - | Vector [B0;B0;B0;B0] _ _ -> (32:ii) - | Vector [B0;B0;B0;B1] _ _ -> (36:ii) - | Vector [B0;B0;B1;B0] _ _ -> (40:ii) - | Vector [B0;B0;B1;B1] _ _ -> (42:ii) - | Vector [B0;B1;B0;B0] _ _ -> (44:ii) - | Vector [B0;B1;B0;B1] _ _ -> (48:ii) - | _ -> pa_size - end in - return pa_size - -let AddWithCarry (x, y, carry_in) = - let unsigned_sum = - ((UInt (reset_vector_start (set_vector_start_to_length x))) + - (UInt (reset_vector_start (set_vector_start_to_length y)))) + - (UInt (reset_vector_start (set_vector_start_to_length (Vector [carry_in] 0 false)))) in - let signed_sum = - ((SInt (reset_vector_start (set_vector_start_to_length x))) + - (SInt (reset_vector_start (set_vector_start_to_length y)))) + - (UInt (reset_vector_start (set_vector_start_to_length (Vector [carry_in] 0 false)))) in - let result = set_vector_start_to_length (to_vec_dec (length x,unsigned_sum)) in - let n = - access (set_vector_start_to_length result) ((length - (reset_vector_start (set_vector_start_to_length - result))) - (1:ii)) in - let z = - if bitU_to_bool (IsZero (reset_vector_start (set_vector_start_to_length result))) - then B1 - else B0 in - let c = - if bitU_to_bool - (eq_range (UInt (reset_vector_start (set_vector_start_to_length result)), unsigned_sum)) - then B0 - else B1 in - let v = - if bitU_to_bool - (eq_range (SInt (reset_vector_start (set_vector_start_to_length result)), signed_sum)) - then B0 - else B1 in - (set_vector_start_to_length result,set_vector_start 3 - ((set_vector_start_to_length (Vector [n] 0 false)) ^^ - (set_vector_start_to_length - ((set_vector_start_to_length (Vector [z] 0 false)) ^^ - (set_vector_start_to_length - ((set_vector_start_to_length (Vector [c] 0 false)) ^^ - (set_vector_start_to_length (Vector [v] 0 false)))))))) - -let ConditionHolds _cond = - let result = B0 in - match (slice _cond (3:ii) (1:ii)) with - | Vector [B0;B0;B0] _ _ -> - read_reg_bitfield NZCV "Z" >>= fun w__0 -> - let result = eq (match w__0 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - return result - | Vector [B0;B0;B1] _ _ -> - read_reg_bitfield NZCV "C" >>= fun w__1 -> - let result = eq (match w__1 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - return result - | Vector [B0;B1;B0] _ _ -> - read_reg_bitfield NZCV "N" >>= fun w__2 -> - let result = eq (match w__2 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - return result - | Vector [B0;B1;B1] _ _ -> - read_reg_bitfield NZCV "V" >>= fun w__3 -> - let result = eq (match w__3 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - return result - | Vector [B1;B0;B0] _ _ -> - read_reg_bitfield NZCV "C" >>= fun w__4 -> - read_reg_bitfield NZCV "Z" >>= fun w__5 -> - let result = - (eq (match w__4 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) &. - (eq (match w__5 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) in - return result - | Vector [B1;B0;B1] _ _ -> - read_reg_bitfield NZCV "N" >>= fun w__6 -> - read_reg_bitfield NZCV "V" >>= fun w__7 -> - let result = eq_bit (w__6, w__7) in - return result - | Vector [B1;B1;B0] _ _ -> - read_reg_bitfield NZCV "N" >>= fun w__8 -> - read_reg_bitfield NZCV "V" >>= fun w__9 -> - read_reg_bitfield NZCV "Z" >>= fun w__10 -> - let result = - (eq_bit (w__8, w__9)) &. (eq (match w__10 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) in - return result - | Vector [B1;B1;B1] _ _ -> return B1 - end >>= fun result -> - let result = - if bitU_to_bool - ((eq (match (access _cond (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) &. - (neq_vec - (set_vector_start_to_length _cond, - set_vector_start_to_length (Vector [B1;B1;B1;B1] 3 false)))) - then ~result - else result in - return result - -let DecodeShift op = - match toNatural (unsigned (reset_vector_start op)) with - | (0:nn) -> ShiftType_LSL - | (1:nn) -> ShiftType_LSR - | (2:nn) -> ShiftType_ASR - | (3:nn) -> ShiftType_ROR - end - -let HaveEL el = - if bitU_to_bool - ((eq_vec (set_vector_start_to_length el, set_vector_start_to_length EL1)) |. - (eq_vec (set_vector_start_to_length el, set_vector_start_to_length EL0))) - then B1 - else - if bitU_to_bool (eq_vec (set_vector_start_to_length el, set_vector_start_to_length EL2)) - then IMPLEMENTATION_DEFINED.IMPLEMENTATION_DEFINED_type_HaveEL2 - else - if bitU_to_bool (eq_vec (set_vector_start_to_length el, set_vector_start_to_length EL3)) - then IMPLEMENTATION_DEFINED.IMPLEMENTATION_DEFINED_type_HaveEL3 - else - let _ = assert' B0 (Nothing) in - B0 - -let System_Put (op0, op1, crn, crm, op2, _val) = - match toNaturalFiveTup (op0,op1,crn,crm,op2) with - | ((3:nn), (3:nn), (4:nn), (2:nn), (0:nn)) -> write_reg NZCV (slice _val (31:ii) (0:ii)) - | ((3:nn), (3:nn), (4:nn), (2:nn), (1:nn)) -> write_reg DAIF (slice _val (31:ii) (0:ii)) - | ((3:nn), (3:nn), (13:nn), (0:nn), (2:nn)) -> write_reg TPIDR_EL0 (slice _val (63:ii) (0:ii)) - end - -let DataSynchronizationBarrier (domain, types) = - (if bitU_to_bool (neq (domain, MBReqDomain_FullSystem)) - then not_implemented "DataSynchronizationBarrier: not MBReqDomain_FullSystem" - else return ()) >> - match types with - | MBReqTypes_Reads -> DataSynchronizationBarrier_Reads () - | MBReqTypes_Writes -> DataSynchronizationBarrier_Writes () - | MBReqTypes_All -> DataSynchronizationBarrier_All () - end - -let rELR el = - let r = to_vec_dec ((64:ii),(0:ii)) in - if bitU_to_bool (eq_vec (set_vector_start_to_length el, set_vector_start_to_length EL1)) - then read_reg ELR_EL1 - else - if bitU_to_bool (eq_vec (set_vector_start_to_length el, set_vector_start_to_length EL2)) - then read_reg ELR_EL2 - else - if bitU_to_bool (eq_vec (set_vector_start_to_length el, set_vector_start_to_length EL3)) - then read_reg ELR_EL3 - else return r - -let DataMemoryBarrier (domain, types) = - (if bitU_to_bool - ((neq (domain, MBReqDomain_FullSystem)) &. (neq (domain, MBReqDomain_InnerShareable))) - then not_implemented "DataMemoryBarrier: not MBReqDomain_FullSystem or _InnerShareable" - else return ()) >> - match types with - | MBReqTypes_Reads -> DataMemoryBarrier_Reads () - | MBReqTypes_Writes -> DataMemoryBarrier_Writes () - | MBReqTypes_All -> DataMemoryBarrier_All () - end - -let wMem_Addr (address, size, acctype, excl) = - match (excl,acctype) with - | (B0, AccType_NORMAL) -> wMem_Addr_NORMAL (reset_vector_start address,size) - | (B0, AccType_STREAM) -> wMem_Addr_NORMAL (reset_vector_start address,size) - | (B0, AccType_UNPRIV) -> wMem_Addr_NORMAL (reset_vector_start address,size) - | (B0, AccType_ORDERED) -> wMem_Addr_ORDERED (reset_vector_start address,size) - | (B1, AccType_ATOMIC) -> wMem_Addr_ATOMIC (reset_vector_start address,size) - | (B1, AccType_ORDERED) -> wMem_Addr_ATOMIC_ORDERED (reset_vector_start address,size) - | _ -> not_implemented "unrecognised memory access" - end - -let SCTLR regime = - if bitU_to_bool (eq_vec (set_vector_start_to_length regime, set_vector_start_to_length EL1)) - then SCTLR_EL1 - else - if bitU_to_bool (eq_vec (set_vector_start_to_length regime, set_vector_start_to_length EL2)) - then SCTLR_EL2 - else - if bitU_to_bool (eq_vec (set_vector_start_to_length regime, set_vector_start_to_length EL3)) - then SCTLR_EL3 - else - let _ = assert' B0 (Just "SCTLR_type unreachable") in - SCTLR_EL1 - -let DecodeRegExtend op = - match op with - | Vector [B0;B0;B0] _ _ -> ExtendType_UXTB - | Vector [B0;B0;B1] _ _ -> ExtendType_UXTH - | Vector [B0;B1;B0] _ _ -> ExtendType_UXTW - | Vector [B0;B1;B1] _ _ -> ExtendType_UXTX - | Vector [B1;B0;B0] _ _ -> ExtendType_SXTB - | Vector [B1;B0;B1] _ _ -> ExtendType_SXTH - | Vector [B1;B1;B0] _ _ -> ExtendType_SXTW - | Vector [B1;B1;B1] _ _ -> ExtendType_SXTX - end - -let rSP N' = - read_reg_bitfield SPSel "SP" >>= fun w__0 -> - if bitU_to_bool (eq (match w__0 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) - then - read_reg SP_EL0 >>= fun w__1 -> - return (set_vector_start_to_length (mask (N',w__1))) - else - read_reg_field CurrentEL "EL" >>= fun pstate_el -> - if bitU_to_bool (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL0)) - then - read_reg SP_EL0 >>= fun w__2 -> - return (set_vector_start_to_length (mask (N',w__2))) - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL1)) - then - read_reg SP_EL1 >>= fun w__3 -> - return (set_vector_start_to_length (mask (N',w__3))) - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL2)) - then - read_reg SP_EL2 >>= fun w__4 -> - return (set_vector_start_to_length (mask (N',w__4))) - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL3)) - then - read_reg SP_EL3 >>= fun w__5 -> - return (set_vector_start_to_length (mask (N',w__5))) - else - let _ = assert' B0 (Nothing) in - read_reg SP_EL3 >>= fun w__6 -> - return (set_vector_start_to_length (mask (N',w__6))) - -let rSPSR () = - let result = to_vec_dec ((32:ii),(0:ii)) in - if bitU_to_bool (UsingAArch32 ()) - then - not_implemented "rSPSR UsingAArch32" >> - return result - else - read_reg_field CurrentEL "EL" >>= fun pstate_el -> - if bitU_to_bool (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL1)) - then read_reg SPSR_EL1 - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL2)) - then read_reg SPSR_EL2 - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL3)) - then read_reg SPSR_EL3 - else return result - -let _R = - Vector [UndefinedRegister 0;R30;R29;R28;R27;R26;R25;R24;R23;R22;R21;R20;R19;R18;R17;R16;R15;R14;R13;R12;R11; - R10;R9;R8;R7;R6;R5;R4;R3;R2;R1;R0] 31 false - -let _V = - Vector [UndefinedRegister 0;V31;V30;V29;V28;V27;V26;V25;V24;V23;V22;V21;V20;V19;V18;V17;V16;V15;V14;V13;V12; - V11;V10;V9;V8;V7;V6;V5;V4;V3;V2;V1;V0] 32 false - -let ReservedValue () = AArch64_UndefinedFault () - -let UnallocatedEncoding () = AArch64_UndefinedFault () - -let CountLeadingSignBits x = - CountLeadingZeroBits - (reset_vector_start (set_vector_start_to_length - (bitwise_xor - (set_vector_start_to_length - (slice (set_vector_start_to_length x) - ((length (reset_vector_start (set_vector_start_to_length x))) - (1:ii)) (1:ii)), - set_vector_start_to_length - (slice (set_vector_start_to_length x) - ((length (reset_vector_start (set_vector_start_to_length x))) - (2:ii)) (0:ii)))))) - -let LSR_C (x, shift) = - let extended_x = - set_vector_start_to_length - (ZeroExtend ((length x) + shift,reset_vector_start (set_vector_start_to_length x))) in - let result = - set_vector_start_to_length - (slice (set_vector_start_to_length extended_x) - ((shift + (length (reset_vector_start (set_vector_start_to_length x)))) - (1:ii)) shift) in - let carry_out = access (set_vector_start_to_length extended_x) (shift - (1:ii)) in - (set_vector_start_to_length result,carry_out) - -let Ones N' = - set_vector_start_to_length - (Replicate (N',reset_vector_start (set_vector_start_to_length (Vector [B1] 0 false)))) - -let SignExtend (N', ((Vector (h::_) _ _) as x)) = - let remainder = slice_raw x (1:ii) ((length (reset_vector_start x)) - (1:ii)) in - set_vector_start_to_length - ((set_vector_start_to_length - (set_vector_start_to_length - (Replicate - (N' - (length x), - reset_vector_start (set_vector_start_to_length (Vector [h] 0 false)))))) ^^ - (set_vector_start_to_length x)) - -let supported_instructions instr = match instr with | _ -> Just instr end - -let LSL (x, shift) = - let result = set_vector_start_to_length (to_vec_dec (length x,(0:ii))) in - if bitU_to_bool (eq_range (shift, (0:ii))) - then set_vector_start_to_length x - else - let (result', _) = - match (LSL_C (reset_vector_start (set_vector_start_to_length x),shift)) with - | (v0v', v1v') -> (v0v',v1v') - end in - set_vector_start_to_length result' - -let ThisInstrAddr N' = - let N = length (reset_vector_start (set_vector_start_to_length (to_vec_dec (N',(0:ii))))) in - let _ = - assert' ((eq_range (N, (64:ii))) |. ((eq_range (N, (32:ii))) &. (UsingAArch32 ()))) (Nothing) in - rPC () >>= fun w__0 -> - return (set_vector_start_to_length - (mask (N',reset_vector_start (set_vector_start_to_length w__0)))) - -let AArch64_Abort (vaddress, fault) = not_implemented "AArch64_Abort" - -let rV (N', n) = - read_reg (access _V n) >>= fun w__0 -> - return (set_vector_start_to_length - (mask (N',reset_vector_start (set_vector_start_to_length w__0)))) - -let rVpart (N', n, part) = - if bitU_to_bool (eq_range (part, (0:ii))) - then - read_reg (access _V n) >>= fun w__0 -> - return (set_vector_start_to_length - (set_vector_start_to_length (mask (N',reset_vector_start (set_vector_start_to_length w__0))))) - else - let _ = - assert' (eq_range - (length (reset_vector_start (set_vector_start_to_length (to_vec_dec (N',(0:ii))))), - (64:ii))) (Nothing) in - read_reg_range (access _V n) (127:ii) (64:ii) >>= fun w__1 -> - return (set_vector_start_to_length (set_vector_start 63 w__1)) - -let ExternalInvasiveDebugEnabled () = - signalDBGEN () >>= fun w__0 -> - return (eq (w__0, HIGH)) - -let Align (x, y) = - set_vector_start_to_length - (to_vec_dec (length x,Align' (UInt (reset_vector_start (set_vector_start_to_length x)),y))) - -let empty_read_buffer = - <| read_buffer_type_size = (0:ii); - read_buffer_type_acctype = AccType_NORMAL; - read_buffer_type_exclusive = B0; - read_buffer_type_address = (to_vec_dec ((64:ii),(0:ii))) |> - -let empty_write_buffer = - <| write_buffer_type_size = (0:ii); - write_buffer_type_acctype = AccType_NORMAL; - write_buffer_type_exclusive = B0; - write_buffer_type_address = (to_vec_dec ((64:ii),(0:ii))); - write_buffer_type_value = (to_vec_dec ((128:ii),(0:ii))) |> - -let HighestELUsingAArch32 () = - if bitU_to_bool (~(HaveAnyAArch32 ())) - then B0 - else IMPLEMENTATION_DEFINED.IMPLEMENTATION_DEFINED_type_HighestELUsingAArch32 - -let rX (N', n) = - if bitU_to_bool (neq_range (n, (31:ii))) - then - read_reg (access _R n) >>= fun w__0 -> - return (set_vector_start_to_length - (mask (N',reset_vector_start (set_vector_start_to_length w__0)))) - else return (set_vector_start_to_length (Zeros N')) - -let rELR' () = - read_reg_field CurrentEL "EL" >>= fun w__0 -> - let _ = - assert' (neq_vec (set_vector_start_to_length w__0, set_vector_start_to_length EL0)) (Nothing) in - read_reg_field CurrentEL "EL" >>= fun w__1 -> - rELR (reset_vector_start (set_vector_start 1 w__1)) - -let rSPIFP = [RFull "SP_EL0";PSTATE_SPfp] - -let wSPFP = ([PSTATE_SPfp],[RFull "SP_EL0"]) - -let xFP n = if bitU_to_bool (neq_range (n, (31:ii))) then [RFull (access _Rs n)] else [] - -let BigEndianIFP = if bitU_to_bool (UsingAArch32 ()) then [RFull "PSTATE_E"] else [PSTATE_ELfp] - -let flush_write_buffer_exclusive write_buffer = - let _ = assert' write_buffer.write_buffer_type_exclusive (Nothing) in - match write_buffer.write_buffer_type_acctype with - | AccType_ATOMIC -> - wMem_Val_ATOMIC - (write_buffer.write_buffer_type_size, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length write_buffer.write_buffer_type_value) - ((write_buffer.write_buffer_type_size * (8:ii)) - (1:ii)) (0:ii)))) - | AccType_ORDERED -> - wMem_Val_ATOMIC - (write_buffer.write_buffer_type_size, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length write_buffer.write_buffer_type_value) - ((write_buffer.write_buffer_type_size * (8:ii)) - (1:ii)) (0:ii)))) - | _ -> - not_implemented "unrecognised memory access" >> - return B0 - end - -let AArch64_CreateFaultRecord (type', ipaddress, level, acctype, write, extflag, secondstage, s2fs1walk) = - <| FaultRecord_type' = type'; - FaultRecord_domain = (to_vec_dec ((4:ii),UNKNOWN)); - FaultRecord_debugmoe = (to_vec_dec ((4:ii),UNKNOWN)); - FaultRecord_ipaddress = ipaddress; - FaultRecord_level = level; - FaultRecord_acctype = acctype; - FaultRecord_write = write; - FaultRecord_extflag = extflag; - FaultRecord_secondstage = secondstage; - FaultRecord_s2fs1walk = s2fs1walk |> - -let flush_write_buffer write_buffer = - let _ = assert' (eq_bit (write_buffer.write_buffer_type_exclusive, B0)) (Nothing) in - match write_buffer.write_buffer_type_acctype with - | AccType_NORMAL -> - wMem_Val_NORMAL - (write_buffer.write_buffer_type_size, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length write_buffer.write_buffer_type_value) - ((write_buffer.write_buffer_type_size * (8:ii)) - (1:ii)) (0:ii)))) - | AccType_STREAM -> - wMem_Val_NORMAL - (write_buffer.write_buffer_type_size, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length write_buffer.write_buffer_type_value) - ((write_buffer.write_buffer_type_size * (8:ii)) - (1:ii)) (0:ii)))) - | AccType_UNPRIV -> - wMem_Val_NORMAL - (write_buffer.write_buffer_type_size, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length write_buffer.write_buffer_type_value) - ((write_buffer.write_buffer_type_size * (8:ii)) - (1:ii)) (0:ii)))) - | AccType_ORDERED -> - wMem_Val_NORMAL - (write_buffer.write_buffer_type_size, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length write_buffer.write_buffer_type_value) - ((write_buffer.write_buffer_type_size * (8:ii)) - (1:ii)) (0:ii)))) - | _ -> not_implemented "unrecognised memory access" - end - -let System_Get (op0, op1, crn, crm, op2) = - match toNaturalFiveTup (op0,op1,crn,crm,op2) with - | ((3:nn), (3:nn), (4:nn), (2:nn), (0:nn)) -> - read_reg NZCV >>= fun w__0 -> - return (ZeroExtend ((64:ii),w__0)) - | ((3:nn), (3:nn), (4:nn), (2:nn), (1:nn)) -> - read_reg DAIF >>= fun w__1 -> - return (ZeroExtend ((64:ii),w__1)) - | ((3:nn), (3:nn), (13:nn), (0:nn), (2:nn)) -> read_reg TPIDR_EL0 - end - -let Prefetch (address, prfop) = - let hint = - match toNatural (0:ii) with - | (0:nn) -> Prefetch_READ - | (1:nn) -> Prefetch_WRITE - | (2:nn) -> Prefetch_EXEC - end in - let target = (0:ii) in - let stream = B0 in - let returnv = B0 in - let (returnv, hint) = - match (slice prfop (4:ii) (3:ii)) with - | Vector [B0;B0] _ _ -> - let hint = Prefetch_READ in - (returnv,hint) - | Vector [B0;B1] _ _ -> - let hint = Prefetch_EXEC in - (returnv,hint) - | Vector [B1;B0] _ _ -> - let hint = Prefetch_WRITE in - (returnv,hint) - | Vector [B1;B1] _ _ -> - let returnv = B1 in - (returnv,hint) - end in - let (target, stream) = - if bitU_to_bool (~returnv) - then - let target = unsigned (reset_vector_start (slice prfop (2:ii) (1:ii))) in - let stream = neq (match (access prfop (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)) in - (target,stream) - else (target,stream) in - () - -let DoubleLockStatus () = - if bitU_to_bool (ELUsingAArch32 (reset_vector_start EL1)) - then - read_reg_bitfield DBGOSDLR "DLK" >>= fun w__0 -> - read_reg_bitfield DBGPRCR "CORENPDRQ" >>= fun w__1 -> - Halted () >>= fun w__2 -> - return ((eq (match w__0 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) &. - ((eq (match w__1 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) &. (~w__2))) - else - read_reg_bitfield OSDLR_EL1 "DLK" >>= fun w__3 -> - read_reg_bitfield DBGPRCR_EL1 "CORENPDRQ" >>= fun w__4 -> - Halted () >>= fun w__5 -> - return ((eq (match w__3 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) &. - ((eq (match w__4 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) &. (~w__5))) - -let wSP ((), value) = - read_reg_bitfield SPSel "SP" >>= fun w__0 -> - if bitU_to_bool (eq (match w__0 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) - then write_reg SP_EL0 (ZeroExtend ((64:ii),reset_vector_start (set_vector_start_to_length value))) - else - read_reg_field CurrentEL "EL" >>= fun pstate_el -> - if bitU_to_bool (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL0)) - then - write_reg SP_EL0 (ZeroExtend ((64:ii),reset_vector_start (set_vector_start_to_length value))) - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL1)) - then - write_reg - SP_EL1 - (ZeroExtend ((64:ii),reset_vector_start (set_vector_start_to_length value))) - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL2)) - then - write_reg - SP_EL2 - (ZeroExtend ((64:ii),reset_vector_start (set_vector_start_to_length value))) - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL3)) - then - write_reg - SP_EL3 - (ZeroExtend ((64:ii),reset_vector_start (set_vector_start_to_length value))) - else return (assert' B0 (Nothing)) - -let decodeTMCommit () = Just (TMCommit) - -let decodeTMTest () = Just (TMTest) - -let decodeTMAbort ((Vector [R;_;_;_;_;_] _ _) as v__975) = - let imm5 = slice_raw v__975 (1:ii) (5:ii) in - Just (TMAbort (R,reset_vector_start imm5)) - -let wV (n, value) = - write_reg - (access _V n) - (ZeroExtend ((128:ii),reset_vector_start (set_vector_start_to_length value))) - -let wVpart (n, part, value) = - if bitU_to_bool (eq_range (part, (0:ii))) - then - write_reg - (access _V n) - (ZeroExtend ((128:ii),reset_vector_start (set_vector_start_to_length value))) - else - let _ = - assert' (eq_range - (length - (reset_vector_start (set_vector_start_to_length - (to_vec_dec (length value,(0:ii))))), - (64:ii))) (Nothing) in - write_reg_range (access _V n) (127:ii) (64:ii) (set_vector_start 127 value) - -let wX (n, value) = - if bitU_to_bool (neq_range (n, (31:ii))) - then - write_reg - (access _R n) - (ZeroExtend ((64:ii),reset_vector_start (set_vector_start_to_length value))) - else return () - -let decodeAdvSIMDLoadStoreMultiStruct machineCode = - not_implemented "decodeAdvSIMDLoadStoreMultiStruct" >> - return (Just (Unallocated)) - -let decodeAdvSIMDLoadStoreMultiStructPostIndexed machineCode = - not_implemented "decodeAdvSIMDLoadStoreMultiStructPostIndexed" >> - return (Just (Unallocated)) - -let decodeAdvSIMDLoadStoreSingleStruct machineCode = - not_implemented "decodeAdvSIMDLoadStoreSingleStruct" >> - return (Just (Unallocated)) - -let decodeAdvSIMDLoadStoreSingleStructPostIndexed machineCode = - not_implemented "decodeAdvSIMDLoadStoreSingleStructPostIndexed" >> - return (Just (Unallocated)) - -let decodeDataSIMDFPoint1 machineCode = - not_implemented "decodeDataSIMDFPoint1" >> - return (Just (Unallocated)) - -let decodeDataSIMDFPoint2 machineCode = - not_implemented "decodeDataSIMDFPoint2" >> - return (Just (Unallocated)) - -let AArch64_CheckForWFxTrap (target_el, is_wfe) = - let _ = assert' (HaveEL (reset_vector_start target_el)) (Nothing) in - let trap = B0 in - (if bitU_to_bool (eq_vec (set_vector_start_to_length target_el, set_vector_start_to_length EL1)) - then - (if bitU_to_bool is_wfe - then - read_reg_bitfield SCTLR_EL1 "nTWE" >>= fun w__0 -> - return (match w__0 with | B0 -> (0:ii) | B1 -> (1:ii) end) - else - read_reg_bitfield SCTLR_EL1 "nTWI" >>= fun w__1 -> - return (match w__1 with | B0 -> (0:ii) | B1 -> (1:ii) end)) >>= fun w__2 -> - let trap = eq (w__2, (0:ii)) in - return trap - else - if bitU_to_bool (eq_vec (set_vector_start_to_length target_el, set_vector_start_to_length EL2)) - then - (if bitU_to_bool is_wfe - then - read_reg_bitfield HCR_EL2 "TWE" >>= fun w__3 -> - return (match w__3 with | B0 -> (0:ii) | B1 -> (1:ii) end) - else - read_reg_bitfield HCR_EL2 "TWI" >>= fun w__4 -> - return (match w__4 with | B0 -> (0:ii) | B1 -> (1:ii) end)) >>= fun w__5 -> - let trap = eq (w__5, (1:ii)) in - return trap - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length target_el, set_vector_start_to_length EL3)) - then - (if bitU_to_bool is_wfe - then - read_reg_bitfield SCR_EL3 "TWE" >>= fun w__6 -> - return (match w__6 with | B0 -> (0:ii) | B1 -> (1:ii) end) - else - read_reg_bitfield SCR_EL3 "TWI" >>= fun w__7 -> - return (match w__7 with | B0 -> (0:ii) | B1 -> (1:ii) end)) >>= fun w__8 -> - let trap = eq (w__8, (1:ii)) in - return trap - else - let _ = assert' B0 (Nothing) in - return trap) >>= fun trap -> - if bitU_to_bool trap - then AArch64_WFxTrap (reset_vector_start target_el,is_wfe) - else return () - -let wmem_kind (acctype, exclusive) = - if bitU_to_bool exclusive - then - match acctype with - | AccType_ATOMIC -> return (IK_mem_write Write_exclusive) - | AccType_ORDERED -> return (IK_mem_write Write_exclusive_release) - | _ -> - not_implemented "unimplemented memory access" >> - return (IK_mem_write Write_exclusive) - end - else - match acctype with - | AccType_NORMAL -> return (IK_mem_write Write_plain) - | AccType_STREAM -> return (IK_mem_write Write_plain) - | AccType_UNPRIV -> return (IK_mem_write Write_plain) - | AccType_ORDERED -> return (IK_mem_write Write_release) - | _ -> - not_implemented "unimplemented memory access" >> - return (IK_mem_write Write_plain) - end - -let BranchTo (target, branch_type) = - let target' = set_vector_start_to_length target in - let _ = Hint_Branch branch_type in - (if bitU_to_bool - (eq_range (length (reset_vector_start (set_vector_start_to_length target)), (32:ii))) - then - let _ = assert' (UsingAArch32 ()) (Nothing) in - write_reg _PC (ZeroExtend ((64:ii),reset_vector_start (set_vector_start_to_length target))) >> - return target' - else - let _ = - assert' ((eq_range (length (reset_vector_start (set_vector_start_to_length target)), (64:ii))) &. - (~(UsingAArch32 ()))) (Nothing) in - read_reg_field CurrentEL "EL" >>= fun pstate_el -> - (if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL0)) - then - read_reg_bitfield TCR_EL1 "TBI1" >>= fun w__0 -> - let target' = - if bitU_to_bool - ((eq - (match (access (set_vector_start_to_length target') (55:ii)) with - | B0 -> (0:ii) - | B1 -> (1:ii) - end, - (1:ii))) &. (eq (match w__0 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then - update - target' (63:ii) (56:ii) - (set_vector_start 63 (Vector [B1;B1;B1;B1;B1;B1;B1;B1] 7 false)) - else target' in - read_reg_bitfield TCR_EL1 "TBI0" >>= fun w__1 -> - let target' = - if bitU_to_bool - ((eq - (match (access (set_vector_start_to_length target') (55:ii)) with - | B0 -> (0:ii) - | B1 -> (1:ii) - end, - (0:ii))) &. (eq (match w__1 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then - update - target' (63:ii) (56:ii) - (set_vector_start 63 (Vector [B0;B0;B0;B0;B0;B0;B0;B0] 7 false)) - else target' in - return target' - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL1)) - then - read_reg_bitfield TCR_EL1 "TBI1" >>= fun w__2 -> - let target' = - if bitU_to_bool - ((eq - (match (access (set_vector_start_to_length target') (55:ii)) with - | B0 -> (0:ii) - | B1 -> (1:ii) - end, - (1:ii))) &. (eq (match w__2 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then - update - target' (63:ii) (56:ii) - (set_vector_start 63 (Vector [B1;B1;B1;B1;B1;B1;B1;B1] 7 false)) - else target' in - read_reg_bitfield TCR_EL1 "TBI0" >>= fun w__3 -> - let target' = - if bitU_to_bool - ((eq - (match (access (set_vector_start_to_length target') (55:ii)) with - | B0 -> (0:ii) - | B1 -> (1:ii) - end, - (0:ii))) &. (eq (match w__3 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then - update - target' (63:ii) (56:ii) - (set_vector_start 63 (Vector [B0;B0;B0;B0;B0;B0;B0;B0] 7 false)) - else target' in - return target' - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL2)) - then - read_reg_bitfield TCR_EL2 "TBI" >>= fun w__4 -> - let target' = - if bitU_to_bool (eq (match w__4 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then - update - target' (63:ii) (56:ii) - (set_vector_start 63 (Vector [B0;B0;B0;B0;B0;B0;B0;B0] 7 false)) - else target' in - return target' - else - if bitU_to_bool - (eq_vec (set_vector_start_to_length pstate_el, set_vector_start_to_length EL3)) - then - read_reg_bitfield TCR_EL3 "TBI" >>= fun w__5 -> - let target' = - if bitU_to_bool (eq (match w__5 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then - update - target' (63:ii) (56:ii) - (set_vector_start 63 (Vector [B0;B0;B0;B0;B0;B0;B0;B0] 7 false)) - else target' in - return target' - else return target') >>= fun target' -> - write_reg _PC target' >> - return target') >>= fun target' -> - return () - -let rmem_kind (acctype, exclusive) = - if bitU_to_bool exclusive - then - match acctype with - | AccType_ATOMIC -> return (IK_mem_read Read_exclusive) - | AccType_ORDERED -> return (IK_mem_read Read_exclusive_acquire) - | _ -> - not_implemented "unimplemented memory access" >> - return (IK_mem_read Read_exclusive) - end - else - return (match acctype with - | AccType_NORMAL -> IK_mem_read Read_plain - | AccType_ATOMIC -> IK_mem_read Read_plain - | AccType_STREAM -> IK_mem_read Read_stream - | AccType_UNPRIV -> IK_mem_read Read_plain - | AccType_ORDERED -> IK_mem_read Read_acquire - end) - -let decodeTMStart Rt = - let t = UInt_reg (reset_vector_start Rt) in - Just (TMStart t) - -let decodeAddSubtractWithCarry ((Vector [sf;op;S;B1;B1;B0;B1;B0;B0;B0;B0;_;_;_;_;_;B0;B0;B0;B0;B0;B0;_;_;_;_;_;_;_;_;_;_] _ _) as v__969) = - let Rm = slice_raw v__969 (11:ii) (15:ii) in - let Rn = slice_raw v__969 (22:ii) (26:ii) in - let Rd = slice_raw v__969 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let sub_op = eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let setflags = eq (match S with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - Just (AddSubCarry (d,n,m,datasize,sub_op,setflags)) - -let decodeConditionalCompareRegister ((Vector [sf;op;B1;B1;B1;B0;B1;B0;B0;B1;B0;_;_;_;_;_;_;_;_;_;B0;B0;_;_;_;_;_;B0;_;_;_;_] _ _) as v__961) = - let Rm = slice_raw v__961 (11:ii) (15:ii) in - let _cond = slice_raw v__961 (16:ii) (19:ii) in - let Rn = slice_raw v__961 (22:ii) (26:ii) in - let nzcv = slice_raw v__961 (28:ii) (31:ii) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let sub_op = eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let condition = set_vector_start 3 _cond in - let flags = set_vector_start 3 nzcv in - Just (ConditionalCompareRegister (n,m,datasize,sub_op,reset_vector_start condition,reset_vector_start flags)) - -let decodeConditionalSelect ((Vector [sf;op;B0;B1;B1;B0;B1;B0;B1;B0;B0;_;_;_;_;_;_;_;_;_;B0;o2;_;_;_;_;_;_;_;_;_;_] _ _) as v__954) = - let Rm = slice_raw v__954 (11:ii) (15:ii) in - let _cond = slice_raw v__954 (16:ii) (19:ii) in - let Rn = slice_raw v__954 (22:ii) (26:ii) in - let Rd = slice_raw v__954 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let condition = set_vector_start 3 _cond in - let else_inv = eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let else_inc = eq (match o2 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - Just (ConditionalSelect (d,n,m,datasize,reset_vector_start condition,else_inv,else_inc)) - -let BranchToFP (iR, oR) = - (if bitU_to_bool (UsingAArch32 ()) - then iR - else PSTATE_ELfp :: iR,_PCfp :: oR) - -let decodeImplementationDefined = function - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B1;B0;B0;B0;B0;B1;B0;B1;B1;B1;_;B1;B1;B0;B0;B0;B0;B0;B0;B0;B0;B0;B0;B0;isEnd] _ _) as v__920) -> - Just (ImplementationDefinedTestBeginEnd isEnd) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B1;B0;B0;B0;B0;B1;B0;B1;B1;B1;_;B1;B1;B0;B0;B0;B0;B0;B0;B0;B0;B0;B0;B1;B0] _ _) as v__932) -> - Just (ImplementationDefinedStopFetching) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B1;B0;B0;B0;B0;B1;B0;B1;B1;B1;_;B1;B1;B0;B0;B0;B0;B0;B0;B0;B0;B0;B0;B1;B1] _ _) as v__943) -> - Just (ImplementationDefinedThreadStart) - end - -let NZCVfp = [PSTATE_Vfp;PSTATE_Cfp;PSTATE_Zfp;PSTATE_Nfp] - -let decodeConditionalCompareImmediate ((Vector [sf;op;B1;B1;B1;B0;B1;B0;B0;B1;B0;_;_;_;_;_;_;_;_;_;B1;B0;_;_;_;_;_;B0;_;_;_;_] _ _) as v__912) = - let imm5 = slice_raw v__912 (11:ii) (15:ii) in - let _cond = slice_raw v__912 (16:ii) (19:ii) in - let Rn = slice_raw v__912 (22:ii) (26:ii) in - let nzcv = slice_raw v__912 (28:ii) (31:ii) in - let n = UInt_reg (reset_vector_start Rn) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let sub_op = eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let condition = set_vector_start 3 _cond in - let flags = set_vector_start 3 nzcv in - let imm = - set_vector_start_to_length - (ZeroExtend (datasize,reset_vector_start (set_vector_start_to_length imm5))) in - Just (ConditionalCompareImmediate (n,datasize,sub_op,reset_vector_start condition,reset_vector_start flags,reset_vector_start (set_vector_start_to_length - imm))) - -let decodeMoveWideImmediate ((Vector [sf;_;_;B1;B0;B0;B1;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__909) = - let opc = slice_raw v__909 (1:ii) (2:ii) in - let hw = slice_raw v__909 (9:ii) (10:ii) in - let imm16 = slice_raw v__909 (11:ii) (26:ii) in - let Rd = slice_raw v__909 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let imm = imm16 in - let pos = (0:ii) in - let opcode = - match toNatural (0:ii) with - | (0:nn) -> MoveWideOp_N - | (1:nn) -> MoveWideOp_Z - | (2:nn) -> MoveWideOp_K - end in - match opc with - | Vector [B0;B0] _ _ -> return MoveWideOp_N - | Vector [B1;B0] _ _ -> return MoveWideOp_Z - | Vector [B1;B1] _ _ -> return MoveWideOp_K - | _ -> - UnallocatedEncoding () >> - return opcode - end >>= fun opcode -> - (if bitU_to_bool - ((eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) &. - (eq (match (access hw (1:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then UnallocatedEncoding () - else return ()) >> - let pos = - UInt - (reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length hw) ^^ - (set_vector_start_to_length (Vector [B0;B0;B0;B0] 3 false))))) in - return (Just (MoveWide (d,datasize,reset_vector_start imm,pos,opcode))) - -let decodeLoadStoreExclusive ((Vector [_;_;B0;B0;B1;B0;B0;B0;o2;L;o1;_;_;_;_;_;o0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__903) = - let size = slice_raw v__903 (0:ii) (1:ii) in - let Rs = slice_raw v__903 (11:ii) (15:ii) in - let Rt2 = slice_raw v__903 (17:ii) (21:ii) in - let Rn = slice_raw v__903 (22:ii) (26:ii) in - let Rt = slice_raw v__903 (27:ii) (31:ii) in - let n = UInt_reg (reset_vector_start Rn) in - let t = UInt_reg (reset_vector_start Rt) in - let t2 = UInt_reg (reset_vector_start Rt2) in - let s = UInt_reg (reset_vector_start Rs) in - (if bitU_to_bool - ((eq_vec - (set_vector_start_to_length (Vector [o2;o1;o0] 2 false), - set_vector_start_to_length (Vector [B1;B0;B0] 2 false))) |. - (eq_vec - (set_vector_start_to_length (Vector [o2;o1] 1 false), - set_vector_start_to_length (Vector [B1;B1] 1 false)))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool - ((eq (match o1 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) &. - (eq (match (access size (1:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)))) - then UnallocatedEncoding () - else return ()) >> - let acctype = - if bitU_to_bool (eq (match o0 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then AccType_ORDERED - else AccType_ATOMIC in - let excl = eq (match o2 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)) in - let pair = eq (match o1 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let memop = - if bitU_to_bool (eq (match L with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then MemOp_LOAD - else MemOp_STORE in - let elsize = lsl' ((8:ii),UInt (reset_vector_start (set_vector_start_to_length size))) in - let regsize = if bitU_to_bool (eq_range (elsize, (64:ii))) then (64:ii) else (32:ii) in - let datasize = if bitU_to_bool pair then elsize * (2:ii) else elsize in - return (Just (LoadStoreAcqExc (n,t,t2,s,acctype,excl,pair,memop,elsize,regsize,datasize))) - -let sharedDecodeLoadImmediate (opc, size, Rn, Rt, wback, postindex, scale, offset, acctype, prefetchAllowed) = - let n = UInt_reg Rn in - let t = UInt_reg Rt in - let memop = - match toNatural (0:ii) with - | (0:nn) -> MemOp_LOAD - | (1:nn) -> MemOp_STORE - | (2:nn) -> MemOp_PREFETCH - end in - let _signed = B0 in - let regsize = (64:ii) in - (if bitU_to_bool (eq (match (access opc (1:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) - then - let memop = - if bitU_to_bool - (eq (match (access opc (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then MemOp_LOAD - else MemOp_STORE in - let regsize = - if bitU_to_bool - (eq_vec - (set_vector_start_to_length size, - set_vector_start_to_length (Vector [B1;B1] 1 false))) - then (64:ii) - else (32:ii) in - let _signed = B0 in - return (memop,regsize,_signed) - else - (if bitU_to_bool - (eq_vec - (set_vector_start_to_length size, - set_vector_start_to_length (Vector [B1;B1] 1 false))) - then - (if bitU_to_bool prefetchAllowed - then - let memop = MemOp_PREFETCH in - (if bitU_to_bool - (eq (match (access opc (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then UnallocatedEncoding () - else return ()) >> - return memop - else - UnallocatedEncoding () >> - return memop) >>= fun memop -> - return (regsize,_signed,memop) - else - let memop = MemOp_LOAD in - (if bitU_to_bool - ((eq_vec - (set_vector_start_to_length size, - set_vector_start_to_length (Vector [B1;B0] 1 false))) &. - (eq (match (access opc (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then UnallocatedEncoding () - else return ()) >> - let regsize = - if bitU_to_bool - (eq (match (access opc (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (32:ii) - else (64:ii) in - let _signed = B1 in - return (regsize,_signed,memop)) >>= fun (regsize, _signed, memop) -> - return (memop,regsize,_signed)) >>= fun (memop, regsize, _signed) -> - let datasize = lsl' ((8:ii),scale) in - return (Just (LoadImmediate (n,t,acctype,memop,_signed,wback,postindex,reset_vector_start offset,regsize,datasize))) - -let sharedDecodeLoadRegister (Rn, Rt, Rm, opc, size, wback, postindex, scale, extend_type, shift) = - let n = UInt_reg Rn in - let t = UInt_reg Rt in - let m = UInt_reg Rm in - let acctype = AccType_NORMAL in - let memop = - match toNatural (0:ii) with - | (0:nn) -> MemOp_LOAD - | (1:nn) -> MemOp_STORE - | (2:nn) -> MemOp_PREFETCH - end in - let _signed = B0 in - let regsize = (64:ii) in - (if bitU_to_bool (eq (match (access opc (1:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) - then - let memop = - if bitU_to_bool - (eq (match (access opc (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then MemOp_LOAD - else MemOp_STORE in - let regsize = - if bitU_to_bool - (eq_vec - (set_vector_start_to_length size, - set_vector_start_to_length (Vector [B1;B1] 1 false))) - then (64:ii) - else (32:ii) in - let _signed = B0 in - return (memop,regsize,_signed) - else - (if bitU_to_bool - (eq_vec - (set_vector_start_to_length size, - set_vector_start_to_length (Vector [B1;B1] 1 false))) - then - let memop = MemOp_PREFETCH in - (if bitU_to_bool - (eq (match (access opc (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then UnallocatedEncoding () - else return ()) >> - return (regsize,_signed,memop) - else - let memop = MemOp_LOAD in - (if bitU_to_bool - ((eq_vec - (set_vector_start_to_length size, - set_vector_start_to_length (Vector [B1;B0] 1 false))) &. - (eq (match (access opc (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then UnallocatedEncoding () - else return ()) >> - let regsize = - if bitU_to_bool - (eq (match (access opc (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (32:ii) - else (64:ii) in - let _signed = B1 in - return (regsize,_signed,memop)) >>= fun (regsize, _signed, memop) -> - return (memop,regsize,_signed)) >>= fun (memop, regsize, _signed) -> - let datasize = lsl' ((8:ii),scale) in - return (Just (LoadRegister (n,t,m,acctype,memop,_signed,wback,postindex,extend_type,shift,regsize,datasize))) - -let ConditionHoldsIFP _cond = - match (slice _cond (3:ii) (1:ii)) with - | Vector [B0;B0;B0] _ _ -> [PSTATE_Zfp] - | Vector [B0;B0;B1] _ _ -> [PSTATE_Cfp] - | Vector [B0;B1;B0] _ _ -> [PSTATE_Nfp] - | Vector [B0;B1;B1] _ _ -> [PSTATE_Vfp] - | Vector [B1;B0;B0] _ _ -> [PSTATE_Zfp;PSTATE_Cfp] - | Vector [B1;B0;B1] _ _ -> [PSTATE_Vfp;PSTATE_Nfp] - | Vector [B1;B1;B0] _ _ -> [PSTATE_Zfp;PSTATE_Vfp;PSTATE_Nfp] - | Vector [B1;B1;B1] _ _ -> [] - end - -let decodeAddSubtractImmediate ((Vector [sf;op;S;B1;B0;B0;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__898) = - let shift = slice_raw v__898 (8:ii) (9:ii) in - let imm12 = slice_raw v__898 (10:ii) (21:ii) in - let Rn = slice_raw v__898 (22:ii) (26:ii) in - let Rd = slice_raw v__898 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let sub_op = eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let setflags = eq (match S with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let imm = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - match shift with - | Vector [B0;B0] _ _ -> - let imm = - set_vector_start_to_length - (ZeroExtend (datasize,reset_vector_start (set_vector_start_to_length imm12))) in - return imm - | Vector [B0;B1] _ _ -> - let imm = - set_vector_start_to_length - (ZeroExtend - (datasize, - reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length imm12) ^^ - (set_vector_start_to_length - (duplicate_bits (set_vector_start_to_length (Vector [B0] 0 false), (12:ii)))))))) in - return imm - | Vector [B1;_] _ _ -> - ReservedValue () >> - return imm - end >>= fun imm -> - return (Just (AddSubImmediate (d,n,datasize,sub_op,setflags,reset_vector_start (set_vector_start_to_length - imm)))) - -let decodeData3Source = function - | ((Vector [sf;B0;B0;B1;B1;B0;B1;B1;B0;B0;B0;_;_;_;_;_;o0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__878) -> - let Rm = slice_raw v__878 (11:ii) (15:ii) in - let Ra = slice_raw v__878 (17:ii) (21:ii) in - let Rn = slice_raw v__878 (22:ii) (26:ii) in - let Rd = slice_raw v__878 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let a = UInt_reg (reset_vector_start Ra) in - let destsize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let datasize = destsize in - let sub_op = eq (match o0 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - Just (MultiplyAddSub (d,n,m,a,destsize,datasize,sub_op)) - | ((Vector [B1;B0;B0;B1;B1;B0;B1;B1;U;B0;B1;_;_;_;_;_;o0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__884) -> - let Rm = slice_raw v__884 (11:ii) (15:ii) in - let Ra = slice_raw v__884 (17:ii) (21:ii) in - let Rn = slice_raw v__884 (22:ii) (26:ii) in - let Rd = slice_raw v__884 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let a = UInt_reg (reset_vector_start Ra) in - let destsize = (64:ii) in - let datasize = (32:ii) in - let sub_op = eq (match o0 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let _unsigned = eq (match U with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - Just (MultiplyAddSubLong (d,n,m,a,destsize,datasize,sub_op,_unsigned)) - | ((Vector [B1;B0;B0;B1;B1;B0;B1;B1;U;B1;B0;_;_;_;_;_;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__891) -> - let Rm = slice_raw v__891 (11:ii) (15:ii) in - let Ra = slice_raw v__891 (17:ii) (21:ii) in - let Rn = slice_raw v__891 (22:ii) (26:ii) in - let Rd = slice_raw v__891 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let a = UInt_reg (reset_vector_start Ra) in - let destsize = (64:ii) in - let datasize = destsize in - let _unsigned = eq (match U with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - Just (MultiplyHigh (d,n,m,a,destsize,datasize,_unsigned)) - end - -let decodeExtract ((Vector [sf;B0;B0;B1;B0;B0;B1;B1;B1;N;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__872) = - let Rm = slice_raw v__872 (11:ii) (15:ii) in - let imms = slice_raw v__872 (16:ii) (21:ii) in - let Rn = slice_raw v__872 (22:ii) (26:ii) in - let Rd = slice_raw v__872 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let lsb = (0:ii) in - (if bitU_to_bool (neq_bit (N, sf)) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool - ((eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) &. - (eq (match (access imms (5:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then ReservedValue () - else return ()) >> - let lsb = UInt (reset_vector_start (set_vector_start_to_length imms)) in - return (Just (ExtractRegister (d,n,m,datasize,lsb))) - -let decodeAddSubtractExtendedRegister ((Vector [sf;op;S;B0;B1;B0;B1;B1;B0;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__865) = - let Rm = slice_raw v__865 (11:ii) (15:ii) in - let option_v = slice_raw v__865 (16:ii) (18:ii) in - let imm3 = slice_raw v__865 (19:ii) (21:ii) in - let Rn = slice_raw v__865 (22:ii) (26:ii) in - let Rd = slice_raw v__865 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let sub_op = eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let setflags = eq (match S with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let extend_type = DecodeRegExtend (reset_vector_start (set_vector_start 2 option_v)) in - let shift = UInt (reset_vector_start (set_vector_start_to_length imm3)) in - (if bitU_to_bool (gt (shift, (4:ii))) - then ReservedValue () - else return ()) >> - return (Just (AddSubExtendRegister (d,n,m,datasize,sub_op,setflags,extend_type,shift))) - -let decodeAddSubtractShiftedRegister ((Vector [sf;op;S;B0;B1;B0;B1;B1;_;_;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__859) = - let shift = slice_raw v__859 (8:ii) (9:ii) in - let Rm = slice_raw v__859 (11:ii) (15:ii) in - let imm6 = slice_raw v__859 (16:ii) (21:ii) in - let Rn = slice_raw v__859 (22:ii) (26:ii) in - let Rd = slice_raw v__859 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let sub_op = eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let setflags = eq (match S with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - (if bitU_to_bool - (eq_vec - (set_vector_start_to_length shift, - set_vector_start_to_length (Vector [B1;B1] 1 false))) - then ReservedValue () - else return ()) >> - (if bitU_to_bool - ((eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) &. - (eq (match (access imm6 (5:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then ReservedValue () - else return ()) >> - let shift_type = DecodeShift (reset_vector_start (set_vector_start 1 shift)) in - let shift_amount = UInt (reset_vector_start (set_vector_start_to_length imm6)) in - return (Just (AddSubShiftedRegister (d,n,m,datasize,sub_op,setflags,shift_type,shift_amount))) - -let decodeLogicalShiftedRegister ((Vector [sf;_;_;B0;B1;B0;B1;B0;_;_;N;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__855) = - let opc = slice_raw v__855 (1:ii) (2:ii) in - let shift = slice_raw v__855 (8:ii) (9:ii) in - let Rm = slice_raw v__855 (11:ii) (15:ii) in - let imm6 = slice_raw v__855 (16:ii) (21:ii) in - let Rn = slice_raw v__855 (22:ii) (26:ii) in - let Rd = slice_raw v__855 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let setflags = B0 in - let op = LogicalOp_AND in - let (op, setflags) = - match opc with - | Vector [B0;B0] _ _ -> - let op = LogicalOp_AND in - let setflags = B0 in - (op,setflags) - | Vector [B0;B1] _ _ -> - let op = LogicalOp_ORR in - let setflags = B0 in - (op,setflags) - | Vector [B1;B0] _ _ -> - let op = LogicalOp_EOR in - let setflags = B0 in - (op,setflags) - | Vector [B1;B1] _ _ -> - let op = LogicalOp_AND in - let setflags = B1 in - (op,setflags) - end in - (if bitU_to_bool - ((eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) &. - (eq (match (access imm6 (5:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then ReservedValue () - else return ()) >> - let shift_type = DecodeShift (reset_vector_start (set_vector_start 1 shift)) in - let shift_amount = UInt (reset_vector_start (set_vector_start_to_length imm6)) in - let invert = eq (match N with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - return (Just (LogicalShiftedRegister (d,n,m,datasize,setflags,op,shift_type,shift_amount,invert))) - -let decodeData1Source = function - | ((Vector [sf;B1;B0;B1;B1;B0;B1;B0;B1;B1;B0;B0;B0;B0;B0;B0;B0;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__840) -> - let opc = slice_raw v__840 (20:ii) (21:ii) in - let Rn = slice_raw v__840 (22:ii) (26:ii) in - let Rd = slice_raw v__840 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let op = - match toNatural (0:ii) with - | (0:nn) -> RevOp_RBIT - | (1:nn) -> RevOp_REV16 - | (2:nn) -> RevOp_REV32 - | (3:nn) -> RevOp_REV64 - end in - match opc with - | Vector [B0;B0] _ _ -> return RevOp_RBIT - | Vector [B0;B1] _ _ -> return RevOp_REV16 - | Vector [B1;B0] _ _ -> return RevOp_REV32 - | Vector [B1;B1] _ _ -> - (if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) - then UnallocatedEncoding () - else return ()) >> - return RevOp_REV64 - end >>= fun op -> - return (Just (Reverse (d,n,datasize,op))) - | ((Vector [sf;B1;B0;B1;B1;B0;B1;B0;B1;B1;B0;B0;B0;B0;B0;B0;B0;B0;B0;B1;B0;op;_;_;_;_;_;_;_;_;_;_] _ _) as v__847) -> - let Rn = slice_raw v__847 (22:ii) (26:ii) in - let Rd = slice_raw v__847 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let opcode = - if bitU_to_bool (eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) - then CountOp_CLZ - else CountOp_CLS in - return (Just (CountLeading (d,n,datasize,opcode))) - end - -let decodeUnconditionalBranchRegister = function - | ((Vector [B1;B1;B0;B1;B0;B1;B1;B0;B0;_;_;B1;B1;B1;B1;B1;B0;B0;B0;B0;B0;B0;_;_;_;_;_;B0;B0;B0;B0;B0] _ _) as v__820) -> - let op = slice_raw v__820 (9:ii) (10:ii) in - let Rn = slice_raw v__820 (22:ii) (26:ii) in - let n = UInt_reg (reset_vector_start Rn) in - let branch_type = - match toNatural (0:ii) with - | (0:nn) -> BranchType_CALL - | (1:nn) -> BranchType_ERET - | (2:nn) -> BranchType_DBGEXIT - | (3:nn) -> BranchType_RET - | (4:nn) -> BranchType_JMP - | (5:nn) -> BranchType_EXCEPTION - | (6:nn) -> BranchType_UNKNOWN - end in - match op with - | Vector [B0;B0] _ _ -> return BranchType_JMP - | Vector [B0;B1] _ _ -> return BranchType_CALL - | Vector [B1;B0] _ _ -> return BranchType_RET - | _ -> - UnallocatedEncoding () >> - return branch_type - end >>= fun branch_type -> - return (Just (BranchRegister (n,branch_type))) - | ((Vector [B1;B1;B0;B1;B0;B1;B1;B0;B1;B0;B0;B1;B1;B1;B1;B1;B0;B0;B0;B0;B0;B0;B1;B1;B1;B1;B1;B0;B0;B0;B0;B0] _ _) as v__826) -> - return (Just (ExceptionReturn)) - | ((Vector [B1;B1;B0;B1;B0;B1;B1;B0;B1;B0;B1;B1;B1;B1;B1;B1;B0;B0;B0;B0;B0;B0;B1;B1;B1;B1;B1;B0;B0;B0;B0;B0] _ _) as v__833) -> - return (Just (DebugRestorePState)) - end - -let decodeData2Source = function - | ((Vector [sf;B0;B0;B1;B1;B0;B1;B0;B1;B1;B0;_;_;_;_;_;B0;B0;B0;B0;B1;o1;_;_;_;_;_;_;_;_;_;_] _ _) as v__800) -> - let Rm = slice_raw v__800 (11:ii) (15:ii) in - let Rn = slice_raw v__800 (22:ii) (26:ii) in - let Rd = slice_raw v__800 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let _unsigned = eq (match o1 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)) in - return (Just (Division (d,n,m,datasize,_unsigned))) - | ((Vector [sf;B0;B0;B1;B1;B0;B1;B0;B1;B1;B0;_;_;_;_;_;B0;B0;B1;B0;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__807) -> - let Rm = slice_raw v__807 (11:ii) (15:ii) in - let op2 = slice_raw v__807 (20:ii) (21:ii) in - let Rn = slice_raw v__807 (22:ii) (26:ii) in - let Rd = slice_raw v__807 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let shift_type = DecodeShift (reset_vector_start (set_vector_start 1 op2)) in - return (Just (Shift (d,n,m,datasize,shift_type))) - | ((Vector [sf;B0;B0;B1;B1;B0;B1;B0;B1;B1;B0;_;_;_;_;_;B0;B1;B0;C;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__813) -> - let Rm = slice_raw v__813 (11:ii) (15:ii) in - let sz = slice_raw v__813 (20:ii) (21:ii) in - let Rn = slice_raw v__813 (22:ii) (26:ii) in - let Rd = slice_raw v__813 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let m = UInt_reg (reset_vector_start Rm) in - (if bitU_to_bool - ((eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) &. - (neq_vec - (set_vector_start_to_length sz, - set_vector_start_to_length (Vector [B1;B1] 1 false)))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool - ((eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) &. - (eq_vec - (set_vector_start_to_length sz, - set_vector_start_to_length (Vector [B1;B1] 1 false)))) - then UnallocatedEncoding () - else return ()) >> - let size = lsl' ((8:ii),UInt (reset_vector_start (set_vector_start_to_length sz))) in - let crc32c = eq (match C with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - return (Just (CRC (d,n,m,size,crc32c))) - end - -let decodeExceptionGeneration = function - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B0;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;B0;B0;B0;B0;B1] _ _) as v__771) -> - let imm16 = slice_raw v__771 (11:ii) (26:ii) in - let imm = imm16 in - return (Just (GenerateExceptionEL1 (reset_vector_start imm))) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B0;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;B0;B0;B0;B1;B0] _ _) as v__776) -> - let imm16 = slice_raw v__776 (11:ii) (26:ii) in - let imm = imm16 in - return (Just (GenerateExceptionEL2 (reset_vector_start imm))) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B0;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;B0;B0;B0;B1;B1] _ _) as v__781) -> - let imm16 = slice_raw v__781 (11:ii) (26:ii) in - let imm = imm16 in - return (Just (GenerateExceptionEL3 (reset_vector_start imm))) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B0;B0;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;B0;B0;B0;B0;B0] _ _) as v__786) -> - let imm16 = slice_raw v__786 (11:ii) (26:ii) in - let comment = imm16 in - return (Just (DebugBreakpoint (reset_vector_start comment))) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B0;B0;B1;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;B0;B0;B0;B0;B0] _ _) as v__791) -> - let imm16 = slice_raw v__791 (11:ii) (26:ii) in - return (Just (ExternalDebugBreakpoint)) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B0;B1;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;B0;B0;B0;_;_] _ _) as v__796) -> - let imm16 = slice_raw v__796 (11:ii) (26:ii) in - let LL = slice_raw v__796 (30:ii) (31:ii) in - let target_level = LL in - (if bitU_to_bool - (eq_vec - (set_vector_start_to_length LL, - set_vector_start_to_length (Vector [B0;B0] 1 false))) - then UnallocatedEncoding () - else return ()) >> - return (Just (DebugSwitchToExceptionLevel (reset_vector_start target_level))) - end - -let decodeSystem = function - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B1;B0;B0;B0;B0;B0;_;_;_;B0;B1;B0;B0;_;_;_;_;_;_;_;B1;B1;B1;B1;B1] _ _) as v__706) -> - let op1 = slice_raw v__706 (13:ii) (15:ii) in - let CRm = slice_raw v__706 (20:ii) (23:ii) in - let op2 = slice_raw v__706 (24:ii) (26:ii) in - let operand = set_vector_start 3 CRm in - let field' = - match toNatural (0:ii) with - | (0:nn) -> PSTATEField_DAIFSet - | (1:nn) -> PSTATEField_DAIFClr - | (2:nn) -> PSTATEField_SP - end in - match ((set_vector_start_to_length op1) ^^ (set_vector_start_to_length op2)) with - | ((Vector [B0;B0;B0;B1;B0;B1] _ _) as v__712) -> return PSTATEField_SP - | ((Vector [B0;B1;B1;B1;B1;B0] _ _) as v__715) -> return PSTATEField_DAIFSet - | ((Vector [B0;B1;B1;B1;B1;B1] _ _) as v__718) -> return PSTATEField_DAIFClr - | _ -> - UnallocatedEncoding () >> - return field' - end >>= fun field' -> - return (Just (MoveSystemImmediate (reset_vector_start operand,field'))) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B1;B0;B0;B0;B0;B0;B0;B1;B1;B0;B0;B1;B0;_;_;_;_;_;_;_;B1;B1;B1;B1;B1] _ _) as v__721) -> - let CRm = slice_raw v__721 (20:ii) (23:ii) in - let op2 = slice_raw v__721 (24:ii) (26:ii) in - let op = - match toNatural (0:ii) with - | (0:nn) -> SystemHintOp_NOP - | (1:nn) -> SystemHintOp_YIELD - | (2:nn) -> SystemHintOp_WFE - | (3:nn) -> SystemHintOp_WFI - | (4:nn) -> SystemHintOp_SEV - | (5:nn) -> SystemHintOp_SEVL - end in - let op = - match ((set_vector_start_to_length CRm) ^^ (set_vector_start_to_length op2)) with - | ((Vector [B0;B0;B0;B0;B0;B0;B0] _ _) as v__728) -> SystemHintOp_NOP - | ((Vector [B0;B0;B0;B0;B0;B0;B1] _ _) as v__731) -> SystemHintOp_YIELD - | ((Vector [B0;B0;B0;B0;B0;B1;B0] _ _) as v__734) -> SystemHintOp_WFE - | ((Vector [B0;B0;B0;B0;B0;B1;B1] _ _) as v__737) -> SystemHintOp_WFI - | ((Vector [B0;B0;B0;B0;B1;B0;B0] _ _) as v__740) -> SystemHintOp_SEV - | ((Vector [B0;B0;B0;B0;B1;B0;B1] _ _) as v__743) -> SystemHintOp_SEVL - | _ -> SystemHintOp_NOP - end in - return (Just (Hint op)) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B1;B0;B0;B0;B0;B0;B0;B1;B1;B0;B0;B1;B1;_;_;_;_;B0;B1;B0;B1;B1;B1;B1;B1] _ _) as v__746) -> - let CRm = slice_raw v__746 (20:ii) (23:ii) in - let imm = unsigned (reset_vector_start CRm) in - return (Just (ClearExclusiveMonitor imm)) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B1;B0;B0;B0;B0;B0;B0;B1;B1;B0;B0;B1;B1;_;_;_;_;B1;_;_;B1;B1;B1;B1;B1] _ _) as v__754) -> - let CRm = slice_raw v__754 (20:ii) (23:ii) in - let opc = slice_raw v__754 (25:ii) (26:ii) in - let op = - match toNatural (0:ii) with - | (0:nn) -> MemBarrierOp_DSB - | (1:nn) -> MemBarrierOp_DMB - | (2:nn) -> MemBarrierOp_ISB - end in - let domain = - match toNatural (0:ii) with - | (0:nn) -> MBReqDomain_Nonshareable - | (1:nn) -> MBReqDomain_InnerShareable - | (2:nn) -> MBReqDomain_OuterShareable - | (3:nn) -> MBReqDomain_FullSystem - end in - let types = - match toNatural (0:ii) with - | (0:nn) -> MBReqTypes_Reads - | (1:nn) -> MBReqTypes_Writes - | (2:nn) -> MBReqTypes_All - end in - match opc with - | Vector [B0;B0] _ _ -> return MemBarrierOp_DSB - | Vector [B0;B1] _ _ -> return MemBarrierOp_DMB - | Vector [B1;B0] _ _ -> return MemBarrierOp_ISB - | _ -> - UnallocatedEncoding () >> - return op - end >>= fun op -> - let domain = - match (slice CRm (3:ii) (2:ii)) with - | Vector [B0;B0] _ _ -> MBReqDomain_OuterShareable - | Vector [B0;B1] _ _ -> MBReqDomain_Nonshareable - | Vector [B1;B0] _ _ -> MBReqDomain_InnerShareable - | Vector [B1;B1] _ _ -> MBReqDomain_FullSystem - end in - let (domain, types) = - match (slice CRm (1:ii) (0:ii)) with - | Vector [B0;B1] _ _ -> - let types = MBReqTypes_Reads in - (domain,types) - | Vector [B1;B0] _ _ -> - let types = MBReqTypes_Writes in - (domain,types) - | Vector [B1;B1] _ _ -> - let types = MBReqTypes_All in - (domain,types) - | _ -> - let types = MBReqTypes_All in - let domain = MBReqDomain_FullSystem in - (domain,types) - end in - return (Just (Barrier (op,domain,types))) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B1;B0;B0;L;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__762) -> - let op1 = slice_raw v__762 (13:ii) (15:ii) in - let CRn = slice_raw v__762 (16:ii) (19:ii) in - let CRm = slice_raw v__762 (20:ii) (23:ii) in - let op2 = slice_raw v__762 (24:ii) (26:ii) in - let Rt = slice_raw v__762 (27:ii) (31:ii) in - let t = UInt_reg (reset_vector_start Rt) in - let sys_op0 = (1:ii) in - let sys_op1 = UInt (reset_vector_start (set_vector_start_to_length op1)) in - let sys_op2 = UInt (reset_vector_start (set_vector_start_to_length op2)) in - let sys_crn = UInt (reset_vector_start (set_vector_start_to_length CRn)) in - let sys_crm = UInt (reset_vector_start (set_vector_start_to_length CRm)) in - let has_result = eq (match L with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - return (Just (System (t,sys_op0,sys_op1,sys_op2,sys_crn,sys_crm,has_result))) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B1;B0;B0;L;B1;o0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__766) -> - let op1 = slice_raw v__766 (13:ii) (15:ii) in - let CRn = slice_raw v__766 (16:ii) (19:ii) in - let CRm = slice_raw v__766 (20:ii) (23:ii) in - let op2 = slice_raw v__766 (24:ii) (26:ii) in - let Rt = slice_raw v__766 (27:ii) (31:ii) in - let t = UInt_reg (reset_vector_start Rt) in - let sys_op0 = - (2:ii) + (UInt (reset_vector_start (set_vector_start_to_length (Vector [o0] 0 false)))) in - let sys_op1 = UInt (reset_vector_start (set_vector_start_to_length op1)) in - let sys_op2 = UInt (reset_vector_start (set_vector_start_to_length op2)) in - let sys_crn = UInt (reset_vector_start (set_vector_start_to_length CRn)) in - let sys_crm = UInt (reset_vector_start (set_vector_start_to_length CRm)) in - let read = eq (match L with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - return (Just (MoveSystemRegister (t,sys_op0,sys_op1,sys_op2,sys_crn,sys_crm,read))) - end - -let ASR_C (x, shift) = - let extended_x = - set_vector_start_to_length - (SignExtend (shift + (length x),reset_vector_start (set_vector_start_to_length x))) in - let result = - set_vector_start_to_length - (slice (set_vector_start_to_length extended_x) - ((shift + (length (reset_vector_start (set_vector_start_to_length x)))) - (1:ii)) shift) in - let carry_out = access (set_vector_start_to_length extended_x) (shift - (1:ii)) in - (set_vector_start_to_length result,carry_out) - -let ASR (x, shift) = - let result = set_vector_start_to_length (to_vec_dec (length x,(0:ii))) in - if bitU_to_bool (eq_range (shift, (0:ii))) - then set_vector_start_to_length x - else - let (result', _) = - match (ASR_C (reset_vector_start (set_vector_start_to_length x),shift)) with - | (v0v', v1v') -> (v0v',v1v') - end in - set_vector_start_to_length result' - -let LSR (x, shift) = - let result = set_vector_start_to_length (to_vec_dec (length x,(0:ii))) in - if bitU_to_bool (eq_range (shift, (0:ii))) - then set_vector_start_to_length x - else - let (result', _) = - match (LSR_C (reset_vector_start (set_vector_start_to_length x),shift)) with - | (v0v', v1v') -> (v0v',v1v') - end in - set_vector_start_to_length result' - -let AArch64_ResetGeneralRegisters () = - (foreachM_inc ((0:ii),(30:ii),(1:ii)) () - (fun i _ -> - wX (i,reset_vector_start (set_vector_start_to_length (to_vec_dec ((64:ii),UNKNOWN)))))) - -let AArch64_ResetSIMDFPRegisters () = - (foreachM_inc ((0:ii),(31:ii),(1:ii)) () - (fun i _ -> - wV (i,reset_vector_start (set_vector_start_to_length (to_vec_dec ((128:ii),UNKNOWN)))))) - -let wMem'IFP = BigEndianIFP - -let IsFault addrdesc = neq (addrdesc.AddressDescriptor_fault.FaultRecord_type', Fault_None) - -let Extend (N', x, unsigned) = - if bitU_to_bool unsigned - then - set_vector_start_to_length (ZeroExtend (N',reset_vector_start (set_vector_start_to_length x))) - else - set_vector_start_to_length (SignExtend (N',reset_vector_start (set_vector_start_to_length x))) - -let _rMem (read_buffer, desc, size, acctype, exclusive) = - if bitU_to_bool (eq_range (read_buffer.read_buffer_type_size, (0:ii))) - then - <| read_buffer_type_acctype = acctype; - read_buffer_type_exclusive = exclusive; - read_buffer_type_address = desc.AddressDescriptor_paddress.FullAddress_physicaladdress; - read_buffer_type_size = size |> - else - let _ = assert' (eq (read_buffer.read_buffer_type_acctype, acctype)) (Nothing) in - let _ = assert' (eq_bit (read_buffer.read_buffer_type_exclusive, exclusive)) (Nothing) in - let _ = - assert' (eq_vec - (set_vector_start_to_length - (set_vector_start 63 - (add_VIV - (reset_vector_start (set_vector_start_to_length - read_buffer.read_buffer_type_address)) - read_buffer.read_buffer_type_size)), - set_vector_start_to_length - desc.AddressDescriptor_paddress.FullAddress_physicaladdress)) (Nothing) in - <|read_buffer with read_buffer_type_size = (read_buffer.read_buffer_type_size + size)|> - -let CheckSPAlignmentIFP = PSTATE_ELfp :: rSPIFP - -let SCR_GEN () = - let _ = assert' (HaveEL (reset_vector_start EL3)) (Nothing) in - if bitU_to_bool (HighestELUsingAArch32 ()) - then SCR - else SCR_EL3 - -let AArch64_AlignmentFault (acctype, iswrite, secondstage) = - let ipaddress = to_vec_dec ((48:ii),UNKNOWN) in - let level = UNKNOWN in - let extflag = if bitU_to_bool (is_one UNKNOWN) then B1 else B0 in - let s2fs1walk = if bitU_to_bool (is_one UNKNOWN) then B1 else B0 in - AArch64_CreateFaultRecord - (Fault_Alignment, - reset_vector_start ipaddress, - level, - acctype, - iswrite, - extflag, - secondstage, - s2fs1walk) - -let AArch64_NoFault () = - let ipaddress = to_vec_dec ((48:ii),UNKNOWN) in - let level = UNKNOWN in - let acctype = AccType_NORMAL in - let iswrite = if bitU_to_bool (is_one UNKNOWN) then B1 else B0 in - let extflag = if bitU_to_bool (is_one UNKNOWN) then B1 else B0 in - let secondstage = B0 in - let s2fs1walk = B0 in - AArch64_CreateFaultRecord - (Fault_None, - reset_vector_start ipaddress, - level, - acctype, - iswrite, - extflag, - secondstage, - s2fs1walk) - -let decodeConditionalBranchImmediate ((Vector [B0;B1;B0;B1;B0;B1;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;B0;_;_;_;_] _ _) as v__702) = - let imm19 = slice_raw v__702 (8:ii) (26:ii) in - let _cond = slice_raw v__702 (28:ii) (31:ii) in - let offset = - SignExtend - ((64:ii), - reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length imm19) ^^ - (set_vector_start_to_length (Vector [B0;B0] 1 false))))) in - let condition = set_vector_start 3 _cond in - Just (BranchConditional (reset_vector_start offset,reset_vector_start condition)) - -let _wMem (write_buffer, desc, size, acctype, exclusive, value) = - if bitU_to_bool (eq_range (write_buffer.write_buffer_type_size, (0:ii))) - then - <| write_buffer_type_acctype = acctype; - write_buffer_type_exclusive = exclusive; - write_buffer_type_address = desc.AddressDescriptor_paddress.FullAddress_physicaladdress; - write_buffer_type_value = - (ZeroExtend ((128:ii),reset_vector_start (set_vector_start_to_length value))); - write_buffer_type_size = size |> - else - let _ = assert' (eq (write_buffer.write_buffer_type_acctype, acctype)) (Nothing) in - let _ = assert' (eq_bit (write_buffer.write_buffer_type_exclusive, exclusive)) (Nothing) in - let _ = - assert' (eq_vec - (set_vector_start_to_length - (set_vector_start 63 - (add_VIV - (reset_vector_start (set_vector_start_to_length - write_buffer.write_buffer_type_address)) - write_buffer.write_buffer_type_size)), - set_vector_start_to_length - desc.AddressDescriptor_paddress.FullAddress_physicaladdress)) (Nothing) in - <|write_buffer with - write_buffer_type_value = - (ZeroExtend - ((128:ii), - reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length value) ^^ - (set_vector_start_to_length - (slice (set_vector_start_to_length write_buffer.write_buffer_type_value) - ((write_buffer.write_buffer_type_size * (8:ii)) - (1:ii)) (0:ii))))))); write_buffer_type_size = - (write_buffer.write_buffer_type_size + size)|> - -let HaveAArch32EL el = - if bitU_to_bool (~(HaveEL (reset_vector_start el))) - then B0 - else - if bitU_to_bool (~(HaveAnyAArch32 ())) - then B0 - else - if bitU_to_bool (HighestELUsingAArch32 ()) - then B1 - else - if bitU_to_bool (eq_vec (set_vector_start_to_length el, set_vector_start_to_length EL0)) - then B1 - else IMPLEMENTATION_DEFINED.IMPLEMENTATION_DEFINED_type_HaveAArch32EL - -let decodeUnconditionalBranchImmediate ((Vector [op;B0;B0;B1;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__699) = - let imm26 = slice_raw v__699 (6:ii) (31:ii) in - let branch_type = - if bitU_to_bool (eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then BranchType_CALL - else BranchType_JMP in - let offset = - SignExtend - ((64:ii), - reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length imm26) ^^ - (set_vector_start_to_length (Vector [B0;B0] 1 false))))) in - Just (BranchImmediate (branch_type,reset_vector_start offset)) - -let decodeCompareBranchImmediate ((Vector [sf;B0;B1;B1;B0;B1;B0;op;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__695) = - let imm19 = slice_raw v__695 (8:ii) (26:ii) in - let Rt = slice_raw v__695 (27:ii) (31:ii) in - let t = UInt_reg (reset_vector_start Rt) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let iszero = eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)) in - let offset = - SignExtend - ((64:ii), - reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length imm19) ^^ - (set_vector_start_to_length (Vector [B0;B0] 1 false))))) in - Just (CompareAndBranch (t,datasize,iszero,reset_vector_start offset)) - -let decodePCRelAddressing ((Vector [op;_;_;B1;B0;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__692) = - let immlo = slice_raw v__692 (1:ii) (2:ii) in - let immhi = slice_raw v__692 (8:ii) (26:ii) in - let Rd = slice_raw v__692 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let page = eq (match op with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)) in - let imm = to_vec_dec ((64:ii),(0:ii)) in - let imm = - if bitU_to_bool page - then - SignExtend - ((64:ii), - reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length immhi) ^^ - (set_vector_start_to_length - ((set_vector_start_to_length immlo) ^^ - (set_vector_start_to_length - (duplicate_bits (set_vector_start_to_length (Vector [B0] 0 false), (12:ii))))))))) - else - SignExtend - ((64:ii), - reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length immhi) ^^ (set_vector_start_to_length immlo)))) in - Just (Address (d,page,reset_vector_start imm)) - -let decodeTestBranchImmediate ((Vector [b5;B0;B1;B1;B0;B1;B1;op;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__688) = - let b40 = slice_raw v__688 (8:ii) (12:ii) in - let imm14 = slice_raw v__688 (13:ii) (26:ii) in - let Rt = slice_raw v__688 (27:ii) (31:ii) in - let t = UInt_reg (reset_vector_start Rt) in - let datasize = - if bitU_to_bool (eq (match b5 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let bit_pos = - UInt - (reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length (Vector [b5] 0 false)) ^^ (set_vector_start_to_length b40)))) in - let bit_val = op in - let offset = - SignExtend - ((64:ii), - reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length imm14) ^^ - (set_vector_start_to_length (Vector [B0;B0] 1 false))))) in - Just (TestBitAndBranch (t,datasize,bit_pos,bit_val,reset_vector_start offset)) - -let decodeLoadStoreRegisterRegisterOffset ((Vector [_;_;B1;B1;B1;B0;B0;B0;_;_;B1;_;_;_;_;_;_;_;_;S;B1;B0;_;_;_;_;_;_;_;_;_;_] _ _) as v__681) = - let size = slice_raw v__681 (0:ii) (1:ii) in - let opc = slice_raw v__681 (8:ii) (9:ii) in - let Rm = slice_raw v__681 (11:ii) (15:ii) in - let option_v = slice_raw v__681 (16:ii) (18:ii) in - let Rn = slice_raw v__681 (22:ii) (26:ii) in - let Rt = slice_raw v__681 (27:ii) (31:ii) in - let wback = B0 in - let postindex = B0 in - let scale = UInt (reset_vector_start (set_vector_start_to_length size)) in - (if bitU_to_bool - (eq - (match (access (set_vector_start_to_length option_v) (1:ii)) with - | B0 -> (0:ii) - | B1 -> (1:ii) - end, - (0:ii))) - then UnallocatedEncoding () - else return ()) >> - let extend_type = DecodeRegExtend (reset_vector_start (set_vector_start 2 option_v)) in - let shift = - if bitU_to_bool (eq (match S with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then scale - else (0:ii) in - sharedDecodeLoadRegister - (reset_vector_start Rn, - reset_vector_start Rt, - reset_vector_start Rm, - reset_vector_start (set_vector_start 1 opc), - reset_vector_start (set_vector_start 1 size), - wback, - postindex, - scale, - extend_type, - shift) - -let decodeLoadRegisterLiteral ((Vector [_;_;B0;B1;B1;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__677) = - let opc = slice_raw v__677 (0:ii) (1:ii) in - let imm19 = slice_raw v__677 (8:ii) (26:ii) in - let Rt = slice_raw v__677 (27:ii) (31:ii) in - let t = UInt_reg (reset_vector_start Rt) in - let memop = MemOp_LOAD in - let _signed = B0 in - let size = (0:ii) in - let offset = to_vec_dec ((64:ii),(4:ii)) in - let (memop, _signed, size) = - match opc with - | Vector [B0;B0] _ _ -> - let size = (4:ii) in - (memop,_signed,size) - | Vector [B0;B1] _ _ -> - let size = (8:ii) in - (memop,_signed,size) - | Vector [B1;B0] _ _ -> - let size = (4:ii) in - let _signed = B1 in - (memop,_signed,size) - | Vector [B1;B1] _ _ -> - let memop = MemOp_PREFETCH in - (memop,_signed,size) - end in - let offset = - SignExtend - ((64:ii), - reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length imm19) ^^ - (set_vector_start_to_length (Vector [B0;B0] 1 false))))) in - let datasize = size * (8:ii) in - Just (LoadLiteral (t,memop,_signed,size,reset_vector_start offset,datasize)) - -let ROR_C (x, shift) = - let N = length (reset_vector_start (set_vector_start_to_length x)) in - let m = modulo shift N in - let result = - set_vector_start_to_length - (bitwise_or - (set_vector_start_to_length (LSR (reset_vector_start (set_vector_start_to_length x),m)), - set_vector_start_to_length (LSL (reset_vector_start (set_vector_start_to_length x),N - m)))) in - let carry_out = access (set_vector_start_to_length result) (N - (1:ii)) in - (set_vector_start_to_length result,carry_out) - -let decodeSystemImplementationDefined machineCode = - match machineCode with - | ((Vector [_;_;_;_;_;_;_;_;_;_;_;B0;B1;_;_;_;B1;_;B1;B1;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__647) -> - return (decodeImplementationDefined (reset_vector_start machineCode)) - | ((Vector [_;_;_;_;_;_;_;_;_;_;_;B1;B1;_;_;_;B1;_;B1;B1;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__657) -> - return (decodeImplementationDefined (reset_vector_start machineCode)) - | ((Vector [_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__667) -> - decodeSystem (reset_vector_start machineCode) - end - -let decodeLoadStoreRegisterImmediatePostIndexed ((Vector [_;_;B1;B1;B1;B0;B0;B0;_;_;B0;_;_;_;_;_;_;_;_;_;B0;B1;_;_;_;_;_;_;_;_;_;_] _ _) as v__641) = - let size = slice_raw v__641 (0:ii) (1:ii) in - let opc = slice_raw v__641 (8:ii) (9:ii) in - let imm9 = slice_raw v__641 (11:ii) (19:ii) in - let Rn = slice_raw v__641 (22:ii) (26:ii) in - let Rt = slice_raw v__641 (27:ii) (31:ii) in - let wback = B1 in - let postindex = B1 in - let scale = UInt (reset_vector_start (set_vector_start_to_length size)) in - let offset = SignExtend ((64:ii),reset_vector_start (set_vector_start_to_length imm9)) in - sharedDecodeLoadImmediate - (reset_vector_start (set_vector_start 1 opc), - reset_vector_start (set_vector_start 1 size), - reset_vector_start Rn, - reset_vector_start Rt, - wback, - postindex, - scale, - reset_vector_start offset, - AccType_NORMAL, - B0) - -let decodeLoadStoreRegisterImmediatePreIndexed ((Vector [_;_;B1;B1;B1;B0;B0;B0;_;_;B0;_;_;_;_;_;_;_;_;_;B1;B1;_;_;_;_;_;_;_;_;_;_] _ _) as v__635) = - let size = slice_raw v__635 (0:ii) (1:ii) in - let opc = slice_raw v__635 (8:ii) (9:ii) in - let imm9 = slice_raw v__635 (11:ii) (19:ii) in - let Rn = slice_raw v__635 (22:ii) (26:ii) in - let Rt = slice_raw v__635 (27:ii) (31:ii) in - let wback = B1 in - let postindex = B0 in - let scale = UInt (reset_vector_start (set_vector_start_to_length size)) in - let offset = SignExtend ((64:ii),reset_vector_start (set_vector_start_to_length imm9)) in - sharedDecodeLoadImmediate - (reset_vector_start (set_vector_start 1 opc), - reset_vector_start (set_vector_start 1 size), - reset_vector_start Rn, - reset_vector_start Rt, - wback, - postindex, - scale, - reset_vector_start offset, - AccType_NORMAL, - B0) - -let decodeLoadStoreRegisterUnprivileged ((Vector [_;_;B1;B1;B1;B0;B0;B0;_;_;B0;_;_;_;_;_;_;_;_;_;B1;B0;_;_;_;_;_;_;_;_;_;_] _ _) as v__629) = - let size = slice_raw v__629 (0:ii) (1:ii) in - let opc = slice_raw v__629 (8:ii) (9:ii) in - let imm9 = slice_raw v__629 (11:ii) (19:ii) in - let Rn = slice_raw v__629 (22:ii) (26:ii) in - let Rt = slice_raw v__629 (27:ii) (31:ii) in - let wback = B0 in - let postindex = B0 in - let scale = UInt (reset_vector_start (set_vector_start_to_length size)) in - let offset = SignExtend ((64:ii),reset_vector_start (set_vector_start_to_length imm9)) in - sharedDecodeLoadImmediate - (reset_vector_start (set_vector_start 1 opc), - reset_vector_start (set_vector_start 1 size), - reset_vector_start Rn, - reset_vector_start Rt, - wback, - postindex, - scale, - reset_vector_start offset, - AccType_UNPRIV, - B0) - -let decodeLoadStoreRegisterUnscaledImmediate ((Vector [_;_;B1;B1;B1;B0;B0;B0;_;_;B0;_;_;_;_;_;_;_;_;_;B0;B0;_;_;_;_;_;_;_;_;_;_] _ _) as v__623) = - let size = slice_raw v__623 (0:ii) (1:ii) in - let opc = slice_raw v__623 (8:ii) (9:ii) in - let imm9 = slice_raw v__623 (11:ii) (19:ii) in - let Rn = slice_raw v__623 (22:ii) (26:ii) in - let Rt = slice_raw v__623 (27:ii) (31:ii) in - let wback = B0 in - let postindex = B0 in - let scale = UInt (reset_vector_start (set_vector_start_to_length size)) in - let offset = SignExtend ((64:ii),reset_vector_start (set_vector_start_to_length imm9)) in - sharedDecodeLoadImmediate - (reset_vector_start (set_vector_start 1 opc), - reset_vector_start (set_vector_start 1 size), - reset_vector_start Rn, - reset_vector_start Rt, - wback, - postindex, - scale, - reset_vector_start offset, - AccType_NORMAL, - B1) - -let decodeLoadStoreRegisterUnsignedImmediate ((Vector [_;_;B1;B1;B1;B0;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__619) = - let size = slice_raw v__619 (0:ii) (1:ii) in - let opc = slice_raw v__619 (8:ii) (9:ii) in - let imm12 = slice_raw v__619 (10:ii) (21:ii) in - let Rn = slice_raw v__619 (22:ii) (26:ii) in - let Rt = slice_raw v__619 (27:ii) (31:ii) in - let wback = B0 in - let postindex = B0 in - let scale = UInt (reset_vector_start (set_vector_start_to_length size)) in - let offset = - LSL - (reset_vector_start (set_vector_start_to_length - (ZeroExtend ((64:ii),reset_vector_start (set_vector_start_to_length imm12)))), - scale) in - sharedDecodeLoadImmediate - (reset_vector_start (set_vector_start 1 opc), - reset_vector_start (set_vector_start 1 size), - reset_vector_start Rn, - reset_vector_start Rt, - wback, - postindex, - scale, - reset_vector_start offset, - AccType_NORMAL, - B1) - -let decodeLoadStoreNoAllocatePairOffset ((Vector [_;_;B1;B0;B1;B0;B0;B0;B0;L;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__614) = - let opc = slice_raw v__614 (0:ii) (1:ii) in - let imm7 = slice_raw v__614 (10:ii) (16:ii) in - let Rt2 = slice_raw v__614 (17:ii) (21:ii) in - let Rn = slice_raw v__614 (22:ii) (26:ii) in - let Rt = slice_raw v__614 (27:ii) (31:ii) in - let wback = B0 in - let postindex = B0 in - let n = UInt_reg (reset_vector_start Rn) in - let t = UInt_reg (reset_vector_start Rt) in - let t2 = UInt_reg (reset_vector_start Rt2) in - let acctype = AccType_STREAM in - let memop = - if bitU_to_bool (eq (match L with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then MemOp_LOAD - else MemOp_STORE in - (if bitU_to_bool (eq (match (access opc (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then UnallocatedEncoding () - else return ()) >> - let scale = - (2:ii) + - (UInt (reset_vector_start (set_vector_start_to_length (Vector [access opc (1:ii)] 0 false)))) in - let datasize = lsl' ((8:ii),scale) in - let offset = - LSL - (reset_vector_start (set_vector_start_to_length - (SignExtend ((64:ii),reset_vector_start (set_vector_start_to_length imm7)))), - scale) in - return (Just (LoadStorePairNonTemp (wback,postindex,n,t,t2,acctype,memop,scale,datasize,reset_vector_start offset))) - -let sharedDecodeLoadStorePair (L, opc, imm7, Rn, Rt, Rt2, wback, postindex) = - let n = UInt_reg Rn in - let t = UInt_reg Rt in - let t2 = UInt_reg Rt2 in - let acctype = AccType_NORMAL in - let memop = if bitU_to_bool (eq (L, (1:ii))) then MemOp_LOAD else MemOp_STORE in - (if bitU_to_bool - ((eq_vec - (set_vector_start_to_length - (Vector [if bitU_to_bool (is_one L) then B1 else B0;access opc (0:ii)] 1 false), - set_vector_start_to_length (Vector [B0;B1] 1 false))) |. - (eq_vec - (set_vector_start_to_length opc, - set_vector_start_to_length (Vector [B1;B1] 1 false)))) - then UnallocatedEncoding () - else return ()) >> - let _signed = neq (match (access opc (0:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)) in - let scale = - (2:ii) + - (UInt (reset_vector_start (set_vector_start_to_length (Vector [access opc (1:ii)] 0 false)))) in - let datasize = lsl' ((8:ii),scale) in - let offset = - LSL - (reset_vector_start (set_vector_start_to_length (SignExtend ((64:ii),reset_vector_start imm7))), - scale) in - return (Just (LoadStorePair (wback,postindex,n,t,t2,acctype,memop,_signed,datasize,reset_vector_start offset))) - -let decodeDataRegister machineCode = - match machineCode with - | ((Vector [_;_;_;B0;B1;B0;B1;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__484) -> - decodeLogicalShiftedRegister (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;_;B0;B1;B0;B1;B1;_;_;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__497) -> - decodeAddSubtractShiftedRegister (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;_;B0;B1;B0;B1;B1;_;_;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__510) -> - decodeAddSubtractExtendedRegister (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;_;B1;B1;B0;B1;B0;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__523) -> - return (decodeAddSubtractWithCarry - (reset_vector_start (set_vector_start_to_length machineCode))) - | ((Vector [_;_;_;B1;B1;B0;B1;B0;B0;B1;B0;_;_;_;_;_;_;_;_;_;B0;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__536) -> - return (decodeConditionalCompareRegister (reset_vector_start machineCode)) - | ((Vector [_;_;_;B1;B1;B0;B1;B0;B0;B1;B0;_;_;_;_;_;_;_;_;_;B1;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__549) -> - return (decodeConditionalCompareImmediate (reset_vector_start machineCode)) - | ((Vector [_;_;_;B1;B1;B0;B1;B0;B1;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__562) -> - return (decodeConditionalSelect (reset_vector_start machineCode)) - | ((Vector [_;_;_;B1;B1;B0;B1;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__575) -> - return (decodeData3Source (reset_vector_start machineCode)) - | ((Vector [_;B0;_;B1;B1;B0;B1;B0;B1;B1;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__588) -> - decodeData2Source (reset_vector_start machineCode) - | ((Vector [_;B1;_;B1;B1;B0;B1;B0;B1;B1;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__601) -> - decodeData1Source (reset_vector_start machineCode) - end - -let ROR (x, shift) = - let result = set_vector_start_to_length (to_vec_dec (length x,(0:ii))) in - if bitU_to_bool (eq_range (shift, (0:ii))) - then set_vector_start_to_length x - else - let (result', _) = - match (ROR_C (reset_vector_start (set_vector_start_to_length x),shift)) with - | (v0v', v1v') -> (v0v',v1v') - end in - set_vector_start_to_length result' - -let wMemIFP = wMem'IFP - -let decodeLoadStoreRegisterPairOffset ((Vector [_;_;B1;B0;B1;B0;B0;B1;B0;L;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__479) = - let opc = slice_raw v__479 (0:ii) (1:ii) in - let imm7 = slice_raw v__479 (10:ii) (16:ii) in - let Rt2 = slice_raw v__479 (17:ii) (21:ii) in - let Rn = slice_raw v__479 (22:ii) (26:ii) in - let Rt = slice_raw v__479 (27:ii) (31:ii) in - let wback = B0 in - let postindex = B0 in - sharedDecodeLoadStorePair - (match L with | B0 -> (0:ii) | B1 -> (1:ii) end, - reset_vector_start (set_vector_start 1 opc), - reset_vector_start (set_vector_start_to_length imm7), - reset_vector_start Rn, - reset_vector_start Rt, - reset_vector_start Rt2, - wback, - postindex) - -let decodeLoadStoreRegisterPairPostIndexed ((Vector [_;_;B1;B0;B1;B0;B0;B0;B1;L;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__474) = - let opc = slice_raw v__474 (0:ii) (1:ii) in - let imm7 = slice_raw v__474 (10:ii) (16:ii) in - let Rt2 = slice_raw v__474 (17:ii) (21:ii) in - let Rn = slice_raw v__474 (22:ii) (26:ii) in - let Rt = slice_raw v__474 (27:ii) (31:ii) in - let wback = B1 in - let postindex = B1 in - sharedDecodeLoadStorePair - (match L with | B0 -> (0:ii) | B1 -> (1:ii) end, - reset_vector_start (set_vector_start 1 opc), - reset_vector_start (set_vector_start_to_length imm7), - reset_vector_start Rn, - reset_vector_start Rt, - reset_vector_start Rt2, - wback, - postindex) - -let decodeLoadStoreRegisterPairPreIndexed ((Vector [_;_;B1;B0;B1;B0;B0;B1;B1;L;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__469) = - let opc = slice_raw v__469 (0:ii) (1:ii) in - let imm7 = slice_raw v__469 (10:ii) (16:ii) in - let Rt2 = slice_raw v__469 (17:ii) (21:ii) in - let Rn = slice_raw v__469 (22:ii) (26:ii) in - let Rt = slice_raw v__469 (27:ii) (31:ii) in - let wback = B1 in - let postindex = B0 in - sharedDecodeLoadStorePair - (match L with | B0 -> (0:ii) | B1 -> (1:ii) end, - reset_vector_start (set_vector_start 1 opc), - reset_vector_start (set_vector_start_to_length imm7), - reset_vector_start Rn, - reset_vector_start Rt, - reset_vector_start Rt2, - wback, - postindex) - -let IsSecureBelowEL3 () = - if bitU_to_bool (HaveEL (reset_vector_start EL3)) - then - read_reg_bitfield (SCR_GEN ()) "NS" >>= fun w__0 -> - return (eq (match w__0 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) - else - return (if bitU_to_bool (HaveEL (reset_vector_start EL2)) - then B0 - else IMPLEMENTATION_DEFINED.IMPLEMENTATION_DEFINED_type_IsSecureBelowEL3) - -let AArch64_ResetSpecialRegisters () = - write_reg SP_EL0 (to_vec_dec ((64:ii),UNKNOWN)) >> - write_reg SP_EL1 (to_vec_dec ((64:ii),UNKNOWN)) >> - write_reg SPSR_EL1 (to_vec_dec ((32:ii),UNKNOWN)) >> - write_reg ELR_EL1 (to_vec_dec ((64:ii),UNKNOWN)) >> - (if bitU_to_bool (HaveEL (reset_vector_start EL2)) - then - write_reg SP_EL2 (to_vec_dec ((64:ii),UNKNOWN)) >> - write_reg SPSR_EL2 (to_vec_dec ((32:ii),UNKNOWN)) >> - write_reg ELR_EL2 (to_vec_dec ((64:ii),UNKNOWN)) - else return ()) >> - (if bitU_to_bool (HaveEL (reset_vector_start EL3)) - then - write_reg SP_EL3 (to_vec_dec ((64:ii),UNKNOWN)) >> - write_reg SPSR_EL3 (to_vec_dec ((32:ii),UNKNOWN)) >> - write_reg ELR_EL3 (to_vec_dec ((64:ii),UNKNOWN)) - else return ()) >> - let _ = - if bitU_to_bool (HaveAArch32EL (reset_vector_start EL1)) - then - let SPSR_fiq = to_vec_dec ((32:ii),UNKNOWN) in - let SPSR_irq = to_vec_dec ((32:ii),UNKNOWN) in - let SPSR_abt = to_vec_dec ((32:ii),UNKNOWN) in - let SPSR_und = to_vec_dec ((32:ii),UNKNOWN) in - () - else () in - let DLR_EL0 = to_vec_dec ((64:ii),UNKNOWN) in - let DSPSR_EL0 = to_vec_dec ((32:ii),UNKNOWN) in - return () - -let DecodeBitMasks (M', immN, imms, immr, immediate) = - let M = length (reset_vector_start (set_vector_start_to_length (to_vec_dec (M',(0:ii))))) in - let levels = to_vec_dec ((6:ii),(0:ii)) in - let len = - match (HighestSetBit - (reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length (Vector [immN] 0 false)) ^^ - (set_vector_start_to_length - (NOT (reset_vector_start (set_vector_start_to_length imms)))))))) with - | Nothing -> - let _ = assert' B0 (Just "DecodeBitMasks: HighestSetBit returned None") in - (0:ii) - | Just (c) -> c - end in - (if bitU_to_bool (lt (len, (1:ii))) - then ReservedValue () - else return ()) >> - let _ = assert' (gteq (M, lsl' ((1:ii),len))) (Nothing) in - let levels = - ZeroExtend - ((6:ii), - reset_vector_start (set_vector_start_to_length - (duplicate_bits (set_vector_start_to_length (Vector [B1] 0 false), len)))) in - (if bitU_to_bool - (immediate &. - (eq_vec - (set_vector_start_to_length - (bitwise_and (set_vector_start_to_length imms, set_vector_start_to_length levels)), - set_vector_start_to_length levels))) - then ReservedValue () - else return ()) >> - let S = - set_vector_start 5 - (bitwise_and (set_vector_start_to_length imms, set_vector_start_to_length levels)) in - let R = - set_vector_start 5 - (bitwise_and (set_vector_start_to_length immr, set_vector_start_to_length levels)) in - let diff = - set_vector_start 5 - (minus_VVV - (reset_vector_start (set_vector_start_to_length S)) - (reset_vector_start (set_vector_start_to_length R))) in - let esize = lsl' ((1:ii),len) in - let d = set_vector_start 5 (slice diff (len - (1:ii)) (0:ii)) in - let welem = - set_vector_start_to_length - (ZeroExtend - (esize, - reset_vector_start (set_vector_start_to_length - (duplicate_bits - (set_vector_start_to_length (Vector [B1] 0 false), - add_VII (reset_vector_start (set_vector_start_to_length S)) (1:ii)))))) in - let telem = - set_vector_start_to_length - (ZeroExtend - (esize, - reset_vector_start (set_vector_start_to_length - (duplicate_bits - (set_vector_start_to_length (Vector [B1] 0 false), - add_VII (reset_vector_start (set_vector_start_to_length d)) (1:ii)))))) in - let wmask = - Replicate - (M', - reset_vector_start (set_vector_start_to_length - (ROR - (reset_vector_start (set_vector_start_to_length welem), - unsigned (reset_vector_start R))))) in - let tmask = Replicate (M',reset_vector_start (set_vector_start_to_length telem)) in - return (set_vector_start_to_length wmask,set_vector_start_to_length tmask) - -let AArch64_TranslateAddress (vaddress, acctype, iswrite, wasaligned, size) = - let _ = - info - "Translation is not implemented, return same address as the virtual (no fault, normal, shareable, non-secure)." in - <| AddressDescriptor_fault = (AArch64_NoFault ()); - AddressDescriptor_memattrs = - (<| MemoryAttributes_type' = MemType_Normal; - MemoryAttributes_shareable = B1 |>); - AddressDescriptor_paddress = - (<| FullAddress_physicaladdress = vaddress; - FullAddress_NS = B1 |>) |> - -let ExtendReg (N', _reg, type', shift) = - rX (N',_reg) >>= fun w__0 -> - let _val = set_vector_start_to_length w__0 in - let _unsigned = B0 in - let len = (0:ii) in - let (_unsigned, len) = - match type' with - | ExtendType_SXTB -> - let _unsigned = B0 in - let len = (8:ii) in - (_unsigned,len) - | ExtendType_SXTH -> - let _unsigned = B0 in - let len = (16:ii) in - (_unsigned,len) - | ExtendType_SXTW -> - let _unsigned = B0 in - let len = (32:ii) in - (_unsigned,len) - | ExtendType_SXTX -> - let _unsigned = B0 in - let len = (64:ii) in - (_unsigned,len) - | ExtendType_UXTB -> - let _unsigned = B1 in - let len = (8:ii) in - (_unsigned,len) - | ExtendType_UXTH -> - let _unsigned = B1 in - let len = (16:ii) in - (_unsigned,len) - | ExtendType_UXTW -> - let _unsigned = B1 in - let len = (32:ii) in - (_unsigned,len) - | ExtendType_UXTX -> - let _unsigned = B1 in - let len = (64:ii) in - (_unsigned,len) - end in - let len = uMin (len,(length (reset_vector_start (set_vector_start_to_length _val))) - shift) in - return (set_vector_start_to_length - (Extend - (length _val, - reset_vector_start (set_vector_start_to_length - ((set_vector_start_to_length - (slice (set_vector_start_to_length _val) (len - (1:ii)) (0:ii))) ^^ - (set_vector_start_to_length (set_vector_start_to_length (Zeros shift))))), - _unsigned))) - -let ShiftReg (N', _reg, type', amount) = - rX (N',_reg) >>= fun w__0 -> - let result = set_vector_start_to_length w__0 in - let result = - match type' with - | ShiftType_LSL -> - set_vector_start_to_length - (LSL (reset_vector_start (set_vector_start_to_length result),amount)) - | ShiftType_LSR -> - set_vector_start_to_length - (LSR (reset_vector_start (set_vector_start_to_length result),amount)) - | ShiftType_ASR -> - set_vector_start_to_length - (ASR (reset_vector_start (set_vector_start_to_length result),amount)) - | ShiftType_ROR -> - set_vector_start_to_length - (ROR (reset_vector_start (set_vector_start_to_length result),amount)) - end in - return (set_vector_start_to_length result) - -let initial_analysis instr = - let iR = [] in - let oR = [] in - let aR = [] in - let Nias = [NIAFP_successor] in - let Dia = DIAFP_none in - let ik = IK_simple in - match instr with - | TMStart (t) -> - let iR = TxNestingLevelfp :: TXIDR_EL0_DEPTHfp :: iR in - let oR = TxNestingLevelfp :: (oR ++ (xFP t)) in - let ik = IK_trans Transaction_start in - return (aR,Nias,iR,oR,ik) - | TMCommit -> - let iR = TxNestingLevelfp :: iR in - let oR = TxNestingLevelfp :: oR in - let ik = IK_trans Transaction_commit in - return (aR,Nias,iR,oR,ik) - | TMAbort (retry,reason) -> - let iR = TxNestingLevelfp :: iR in - let ik = IK_trans Transaction_abort in - return (aR,Nias,iR,oR,ik) - | TMTest -> - let iR = TxNestingLevelfp :: iR in - let oR = (RFull "NZCV") :: oR in - return (aR,Nias,iR,oR,ik) - | CompareAndBranch (t,datasize,iszero,offset) -> - let iR = iR ++ (xFP t) in - let (i, o) = match (BranchToFP (iR,oR)) with | (v0v', v1v') -> (v0v',v1v') end in - let iR = i in - let oR = o in - rPC () >>= fun w__0 -> - let nia' = - set_vector_start 63 - (add_VVV - (reset_vector_start (set_vector_start_to_length w__0)) - (reset_vector_start (set_vector_start_to_length offset))) in - let Nias = [NIAFP_concrete_address (reset_vector_start nia');NIAFP_successor] in - let ik = IK_branch in - return (aR,Nias,iR,oR,ik) - | BranchConditional (offset,condition) -> - let iR = iR ++ (ConditionHoldsIFP (reset_vector_start condition)) in - let (i, o) = match (BranchToFP (iR,oR)) with | (v2v', v3v') -> (v2v',v3v') end in - let iR = i in - let oR = o in - rPC () >>= fun w__1 -> - let Nias = - [NIAFP_concrete_address (reset_vector_start (set_vector_start 63 - (add_VVV - (reset_vector_start (set_vector_start_to_length w__1)) - (reset_vector_start (set_vector_start_to_length offset)))));NIAFP_successor] in - let ik = IK_branch in - return (aR,Nias,iR,oR,ik) - | GenerateExceptionEL1 (imm) -> - not_implemented "GenerateExceptionEL1" >> - return (aR,Nias,iR,oR,ik) - | GenerateExceptionEL2 (imm) -> - not_implemented "GenerateExceptionEL2" >> - return (aR,Nias,iR,oR,ik) - | GenerateExceptionEL3 (imm) -> - not_implemented "GenerateExceptionEL3" >> - return (aR,Nias,iR,oR,ik) - | DebugBreakpoint (comment) -> - not_implemented "DebugBreakpoint" >> - return (aR,Nias,iR,oR,ik) - | ExternalDebugBreakpoint -> - not_implemented "ExternalDebugBreakpoint" >> - return (aR,Nias,iR,oR,ik) - | DebugSwitchToExceptionLevel (target_level) -> - not_implemented "DebugSwitchToExceptionLevel" >> - return (aR,Nias,iR,oR,ik) - | MoveSystemImmediate (operand,field') -> - let (iR, oR) = - match field' with - | PSTATEField_SP -> - let oR = PSTATE_SPfp :: oR in - (iR,oR) - | PSTATEField_DAIFSet -> - let iR = iR ++ [PSTATE_Ffp;PSTATE_Ifp;PSTATE_Afp;PSTATE_Dfp] in - let oR = oR ++ [PSTATE_Ffp;PSTATE_Ifp;PSTATE_Afp;PSTATE_Dfp] in - (iR,oR) - | PSTATEField_DAIFClr -> - let iR = iR ++ [PSTATE_Ffp;PSTATE_Ifp;PSTATE_Afp;PSTATE_Dfp] in - let oR = oR ++ [PSTATE_Ffp;PSTATE_Ifp;PSTATE_Afp;PSTATE_Dfp] in - (iR,oR) - end in - return (aR,Nias,iR,oR,ik) - | Hint (op) -> - match op with - | SystemHintOp_YIELD -> return () - | SystemHintOp_WFE -> - EventRegistered () >>= fun w__2 -> - if bitU_to_bool w__2 - then return () - else not_implemented "Hint(SystemHintOp_WFE);" - | SystemHintOp_WFI -> not_implemented "Hint(SystemHintOp_WFI);" - | SystemHintOp_SEV -> return () - | SystemHintOp_SEVL -> not_implemented "Hint(SystemHintOp_SEVL);" - | _ -> return () - end >> - return (aR,Nias,iR,oR,ik) - | ClearExclusiveMonitor (imm) -> return (aR,Nias,iR,oR,ik) - | Barrier (op,domain,types) -> - let ik = - match op with - | MemBarrierOp_DSB -> - match types with - | MBReqTypes_Reads -> IK_barrier Barrier_DSB_LD - | MBReqTypes_Writes -> IK_barrier Barrier_DSB_ST - | MBReqTypes_All -> IK_barrier Barrier_DSB - end - | MemBarrierOp_DMB -> - match types with - | MBReqTypes_Reads -> IK_barrier Barrier_DMB_LD - | MBReqTypes_Writes -> IK_barrier Barrier_DMB_ST - | MBReqTypes_All -> IK_barrier Barrier_DMB - end - | MemBarrierOp_ISB -> IK_barrier Barrier_ISB - end in - return (aR,Nias,iR,oR,ik) - | System (t,sys_op0,sys_op1,sys_op2,sys_crn,sys_crm,has_result) -> - let oR = oR ++ (xFP t) in - not_implemented "System" >> - return (aR,Nias,iR,oR,ik) - | MoveSystemRegister (t,sys_op0,sys_op1,sys_op2,sys_crn,sys_crm,read) -> - let (oR, iR) = - if bitU_to_bool read - then - let oR = oR ++ (xFP t) in - let iR = - match toNaturalFiveTup (sys_op0,sys_op1,sys_crn,sys_crm,sys_op2) with - | ((3:nn), (3:nn), (4:nn), (2:nn), (0:nn)) -> (RFull "NZCV") :: iR - | ((3:nn), (3:nn), (4:nn), (2:nn), (1:nn)) -> (RFull "DAIF") :: iR - | ((3:nn), (3:nn), (13:nn), (0:nn), (2:nn)) -> (RFull "TPIDR_EL0") :: iR - end in - (oR,iR) - else - let iR = iR ++ (xFP t) in - let oR = - match toNaturalFiveTup (sys_op0,sys_op1,sys_crn,sys_crm,sys_op2) with - | ((3:nn), (3:nn), (4:nn), (2:nn), (0:nn)) -> (RFull "NZCV") :: oR - | ((3:nn), (3:nn), (4:nn), (2:nn), (1:nn)) -> (RFull "DAIF") :: oR - | ((3:nn), (3:nn), (13:nn), (0:nn), (2:nn)) -> (RFull "TPIDR_EL0") :: oR - end in - (oR,iR) in - return (aR,Nias,iR,oR,ik) - | ImplementationDefinedTestBeginEnd (isEnd) -> return (aR,Nias,iR,oR,ik) - | ImplementationDefinedStopFetching -> return (aR,Nias,iR,oR,ik) - | ImplementationDefinedThreadStart -> return (aR,Nias,iR,oR,ik) - | TestBitAndBranch (t,datasize,bit_pos,bit_val,offset) -> - let iR = (xFP t) ++ iR in - let (i, o) = match (BranchToFP (iR,oR)) with | (v4v', v5v') -> (v4v',v5v') end in - let iR = i in - let oR = o in - rPC () >>= fun w__3 -> - let Nias = - [NIAFP_concrete_address (reset_vector_start (set_vector_start 63 - (add_VVV - (reset_vector_start (set_vector_start_to_length w__3)) - (reset_vector_start (set_vector_start_to_length offset)))));NIAFP_successor] in - let ik = IK_branch in - return (aR,Nias,iR,oR,ik) - | BranchImmediate (branch_type,offset) -> - let (iR, oR) = - if bitU_to_bool (eq (branch_type, BranchType_CALL)) - then - let iR = _PCfp :: iR in - let oR = (xFP (30:ii)) ++ oR in - (iR,oR) - else (iR,oR) in - let (i, o) = match (BranchToFP (iR,oR)) with | (v6v', v7v') -> (v6v',v7v') end in - let iR = i in - let oR = o in - rPC () >>= fun w__4 -> - let Nias = - [NIAFP_concrete_address (reset_vector_start (set_vector_start 63 - (add_VVV - (reset_vector_start (set_vector_start_to_length w__4)) - (reset_vector_start (set_vector_start_to_length offset)))))] in - let ik = IK_branch in - return (aR,Nias,iR,oR,ik) - | BranchRegister (n,branch_type) -> - let iR = iR ++ (xFP n) in - let (iR, oR) = - if bitU_to_bool (eq (branch_type, BranchType_CALL)) - then - let iR = _PCfp :: iR in - let oR = (xFP (30:ii)) ++ oR in - (iR,oR) - else (iR,oR) in - let (i, o) = match (BranchToFP (iR,oR)) with | (v8v', v9v') -> (v8v',v9v') end in - let iR = i in - let oR = o in - let Nias = - if bitU_to_bool (eq_range (n, (31:ii))) - then [NIAFP_concrete_address (reset_vector_start (to_vec_dec ((64:ii),(0:ii))))] - else [NIAFP_indirect_address] in - let ik = IK_branch in - return (aR,Nias,iR,oR,ik) - | ExceptionReturn -> - not_implemented "ExceptionReturn" >> - return (aR,Nias,iR,oR,ik) - | DebugRestorePState -> - not_implemented "DebugRestorePState" >> - return (aR,Nias,iR,oR,ik) - | LoadLiteral (t,memop,_signed,size,offset,datasize) -> - let iR = _PCfp :: iR in - let oR = (xFP t) ++ oR in - let aR = _PCfp :: aR in - let (aR, ik) = - match memop with - | MemOp_LOAD -> - let ik = IK_mem_read Read_plain in - (aR,ik) - | MemOp_PREFETCH -> - let ik = IK_simple in - let aR = [] in - (aR,ik) - end in - return (aR,Nias,iR,oR,ik) - | LoadStoreAcqExc (n,t,t2,s,acctype,excl,pair,memop,elsize,regsize,datasize) -> - let rt_unknown = B0 in - let rn_unknown = B0 in - let (iR, aR) = - if bitU_to_bool (eq_range (n, (31:ii))) - then - let iR = CheckSPAlignmentIFP ++ iR in - let iR = rSPIFP ++ iR in - let aR = rSPIFP ++ aR in - (iR,aR) - else - let (iR, aR) = - if bitU_to_bool rn_unknown - then (iR,aR) - else - let iR = (xFP n) ++ iR in - let aR = (xFP n) ++ aR in - (iR,aR) in - (iR,aR) in - match memop with - | MemOp_STORE -> - let iR = - if bitU_to_bool rt_unknown - then iR - else if bitU_to_bool pair then (xFP t) ++ ((xFP t2) ++ iR) else (xFP t) ++ iR in - (if bitU_to_bool excl - then - let iR = iR ++ wMemIFP in - let oR = (xFP s) ++ oR in - wmem_kind (acctype,B1) >>= fun w__5 -> - let ik = w__5 in - return (iR,oR,ik) - else - let iR = iR ++ wMemIFP in - wmem_kind (acctype,B0) >>= fun w__6 -> - let ik = w__6 in - return (iR,oR,ik)) >>= fun (iR, oR, ik) -> - return (aR,iR,oR,ik) - | MemOp_LOAD -> - (if bitU_to_bool pair - then - let (iR, oR) = - if bitU_to_bool rt_unknown - then - let oR = (xFP t) ++ oR in - (iR,oR) - else - let (iR, oR) = - if bitU_to_bool (eq_range (elsize, (32:ii))) - then - let iR = iR ++ BigEndianIFP in - let oR = (xFP t) ++ ((xFP t2) ++ oR) in - (iR,oR) - else - let oR = (xFP t) ++ ((xFP t2) ++ oR) in - (iR,oR) in - (iR,oR) in - rmem_kind (acctype,B1) >>= fun w__7 -> - let ik = w__7 in - return (oR,iR,ik) - else - let oR = (xFP t) ++ oR in - rmem_kind (acctype,excl) >>= fun w__8 -> - let ik = w__8 in - return (oR,iR,ik)) >>= fun (oR, iR, ik) -> - return (aR,iR,oR,ik) - | MemOp_PREFETCH -> - let aR = [] in - return (aR,iR,oR,ik) - end >>= fun (aR, iR, oR, ik) -> - return (aR,Nias,iR,oR,ik) - | LoadStorePairNonTemp (wback,postindex,n,t,t2,acctype,memop,scale,datasize,offset) -> - let rt_unknown = B0 in - let (iR, aR) = - if bitU_to_bool (eq_range (n, (31:ii))) - then - let iR = CheckSPAlignmentIFP ++ iR in - let iR = rSPIFP ++ iR in - let aR = rSPIFP ++ aR in - (iR,aR) - else - let iR = (xFP n) ++ iR in - let aR = (xFP n) ++ aR in - (iR,aR) in - let (iR, oR) = - if bitU_to_bool wback - then - let (iR, oR) = - if bitU_to_bool (eq_range (n, (31:ii))) - then - let (i, o) = match wSPFP with | (v10v', v11v') -> (v10v',v11v') end in - let iR = i ++ iR in - let oR = o ++ oR in - (iR,oR) - else - let oR = (xFP n) ++ oR in - (iR,oR) in - (iR,oR) - else (iR,oR) in - match memop with - | MemOp_STORE -> - let iR = if bitU_to_bool (rt_unknown &. (eq_range (t, n))) then iR else (xFP t) ++ iR in - let iR = if bitU_to_bool (rt_unknown &. (eq_range (t2, n))) then iR else (xFP t2) ++ iR in - let iR = wMemIFP ++ iR in - wmem_kind (acctype,B0) >>= fun w__9 -> - let ik = w__9 in - return (oR,iR,ik) - | MemOp_LOAD -> - let oR = (xFP t) ++ ((xFP t2) ++ oR) in - rmem_kind (acctype,B0) >>= fun w__10 -> - let ik = w__10 in - return (oR,iR,ik) - end >>= fun (oR, iR, ik) -> - return (aR,Nias,iR,oR,ik) - | LoadImmediate (n,t,acctype,memop,_signed,wback,postindex,offset,regsize,datasize) -> - let wb_unknown = B0 in - let rt_unknown = B0 in - let (iR, aR) = - if bitU_to_bool (eq_range (n, (31:ii))) - then - let iR = CheckSPAlignmentIFP ++ iR in - let iR = rSPIFP ++ iR in - let aR = rSPIFP ++ aR in - (iR,aR) - else - let iR = (xFP n) ++ iR in - let aR = (xFP n) ++ aR in - (iR,aR) in - let (iR, oR) = - if bitU_to_bool wback - then - let (iR, oR) = - if bitU_to_bool (eq_range (n, (31:ii))) - then - let (i, o) = match wSPFP with | (v12v', v13v') -> (v12v',v13v') end in - let iR = i ++ iR in - let oR = o ++ oR in - (iR,oR) - else - let oR = (xFP n) ++ oR in - (iR,oR) in - (iR,oR) - else (iR,oR) in - match memop with - | MemOp_STORE -> - let iR = if bitU_to_bool rt_unknown then iR else (xFP t) ++ iR in - let iR = wMemIFP ++ iR in - wmem_kind (acctype,B0) >>= fun w__11 -> - let ik = w__11 in - return (aR,oR,iR,ik) - | MemOp_LOAD -> - let oR = (xFP t) ++ oR in - rmem_kind (acctype,B0) >>= fun w__12 -> - let ik = w__12 in - return (aR,oR,iR,ik) - | MemOp_PREFETCH -> - let aR = [] in - return (aR,oR,iR,ik) - end >>= fun (aR, oR, iR, ik) -> - return (aR,Nias,iR,oR,ik) - | LoadRegister (n,t,m,acctype,memop,_signed,wback,postindex,extend_type,shift,regsize,datasize) -> - let iR = (xFP m) ++ iR in - let aR = (xFP m) ++ aR in - let wb_unknown = B0 in - let rt_unknown = B0 in - let (iR, aR) = - if bitU_to_bool (eq_range (n, (31:ii))) - then - let iR = CheckSPAlignmentIFP ++ iR in - let iR = rSPIFP ++ iR in - let aR = rSPIFP ++ aR in - (iR,aR) - else - let iR = (xFP n) ++ iR in - let aR = (xFP n) ++ aR in - (iR,aR) in - let (iR, oR) = - if bitU_to_bool wback - then - let (iR, oR) = - if bitU_to_bool (eq_range (n, (31:ii))) - then - let (i, o) = match wSPFP with | (v14v', v15v') -> (v14v',v15v') end in - let iR = i ++ iR in - let oR = o ++ oR in - (iR,oR) - else - let oR = (xFP n) ++ oR in - (iR,oR) in - (iR,oR) - else (iR,oR) in - match memop with - | MemOp_STORE -> - let iR = if bitU_to_bool rt_unknown then iR else (xFP t) ++ iR in - let iR = wMemIFP ++ iR in - wmem_kind (acctype,B0) >>= fun w__13 -> - let ik = w__13 in - return (aR,oR,iR,ik) - | MemOp_LOAD -> - let oR = (xFP t) ++ oR in - rmem_kind (acctype,B0) >>= fun w__14 -> - let ik = w__14 in - return (aR,oR,iR,ik) - | MemOp_PREFETCH -> - let aR = [] in - return (aR,oR,iR,ik) - end >>= fun (aR, oR, iR, ik) -> - return (aR,Nias,iR,oR,ik) - | LoadStorePair (wback,postindex,n,t,t2,acctype,memop,_signed,datasize,offset) -> - let rt_unknown = B0 in - let wb_unknown = B0 in - let (iR, aR) = - if bitU_to_bool (eq_range (n, (31:ii))) - then - let iR = CheckSPAlignmentIFP ++ iR in - let iR = rSPIFP ++ iR in - let aR = rSPIFP ++ aR in - (iR,aR) - else - let iR = (xFP n) ++ iR in - let aR = (xFP n) ++ aR in - (iR,aR) in - let (iR, oR) = - if bitU_to_bool wback - then - let (iR, oR) = - if bitU_to_bool (eq_range (n, (31:ii))) - then - let (i, o) = match wSPFP with | (v16v', v17v') -> (v16v',v17v') end in - let iR = i ++ iR in - let oR = o ++ oR in - (iR,oR) - else - let oR = (xFP n) ++ oR in - (iR,oR) in - (iR,oR) - else (iR,oR) in - match memop with - | MemOp_STORE -> - let iR = if bitU_to_bool (rt_unknown &. (eq_range (t, n))) then iR else (xFP t) ++ iR in - let iR = if bitU_to_bool (rt_unknown &. (eq_range (t2, n))) then iR else (xFP t2) ++ iR in - let iR = wMemIFP ++ iR in - wmem_kind (acctype,B0) >>= fun w__15 -> - let ik = w__15 in - return (oR,iR,ik) - | MemOp_LOAD -> - let oR = (xFP t) ++ oR in - let oR = (xFP t2) ++ oR in - rmem_kind (acctype,B0) >>= fun w__16 -> - let ik = w__16 in - return (oR,iR,ik) - end >>= fun (oR, iR, ik) -> - return (aR,Nias,iR,oR,ik) - | AddSubImmediate (d,n,datasize,sub_op,setflags,imm) -> - let iR = (if bitU_to_bool (eq_range (n, (31:ii))) then rSPIFP else xFP n) ++ iR in - let oR = if bitU_to_bool setflags then NZCVfp ++ oR else oR in - let (iR, oR) = - if bitU_to_bool ((eq_range (d, (31:ii))) &. (~setflags)) - then - let (i, o) = match wSPFP with | (v18v', v19v') -> (v18v',v19v') end in - let iR = i ++ iR in - let oR = o ++ oR in - (iR,oR) - else - let oR = (xFP d) ++ oR in - (iR,oR) in - return (aR,Nias,iR,oR,ik) - | BitfieldMove (d,n,datasize,inzero,extend,R,S,wmask,tmask) -> - let iR = if bitU_to_bool inzero then iR else (xFP d) ++ iR in - let iR = (xFP n) ++ iR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | ExtractRegister (d,n,m,datasize,lsb) -> - let iR = (xFP n) ++ ((xFP m) ++ iR) in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | LogicalImmediate (d,n,datasize,setflags,op,imm) -> - let iR = (xFP n) ++ iR in - let oR = if bitU_to_bool setflags then NZCVfp ++ oR else oR in - let (iR, oR) = - if bitU_to_bool ((eq_range (d, (31:ii))) &. (~setflags)) - then - let (i, o) = match wSPFP with | (v20v', v21v') -> (v20v',v21v') end in - let iR = i ++ iR in - let oR = o ++ oR in - (iR,oR) - else - let oR = (xFP d) ++ oR in - (iR,oR) in - return (aR,Nias,iR,oR,ik) - | MoveWide (d,datasize,imm,pos,opcode) -> - let iR = if bitU_to_bool (eq (opcode, MoveWideOp_K)) then (xFP d) ++ iR else iR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | Address (d,page,imm) -> - let iR = _PCfp :: iR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | AddSubExtendRegister (d,n,m,datasize,sub_op,setflags,extend_type,shift) -> - let iR = (if bitU_to_bool (eq_range (n, (31:ii))) then rSPIFP else xFP n) ++ iR in - let iR = (xFP m) ++ iR in - let oR = if bitU_to_bool setflags then NZCVfp ++ oR else oR in - let (iR, oR) = - if bitU_to_bool ((eq_range (d, (31:ii))) &. (~setflags)) - then - let (i, o) = match wSPFP with | (v22v', v23v') -> (v22v',v23v') end in - let iR = i ++ iR in - let oR = o ++ oR in - (iR,oR) - else - let oR = (xFP d) ++ oR in - (iR,oR) in - return (aR,Nias,iR,oR,ik) - | AddSubShiftedRegister (d,n,m,datasize,sub_op,setflags,shift_type,shift_amount) -> - let iR = (xFP n) ++ ((xFP m) ++ iR) in - let oR = if bitU_to_bool setflags then NZCVfp ++ oR else oR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | AddSubCarry (d,n,m,datasize,sub_op,setflags) -> - let iR = (xFP n) ++ ((xFP m) ++ iR) in - let iR = PSTATE_Cfp :: iR in - let oR = if bitU_to_bool setflags then NZCVfp ++ oR else oR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | ConditionalCompareImmediate (n,datasize,sub_op,condition,flags,imm) -> - let iR = (xFP n) ++ iR in - let iR = (ConditionHoldsIFP (reset_vector_start condition)) ++ iR in - let oR = NZCVfp ++ oR in - return (aR,Nias,iR,oR,ik) - | ConditionalCompareRegister (n,m,datasize,sub_op,condition,flags) -> - let iR = (xFP n) ++ ((xFP m) ++ iR) in - let iR = (ConditionHoldsIFP (reset_vector_start condition)) ++ iR in - let oR = NZCVfp ++ oR in - return (aR,Nias,iR,oR,ik) - | ConditionalSelect (d,n,m,datasize,condition,else_inv,else_inc) -> - let iR = (xFP n) ++ ((xFP m) ++ iR) in - let iR = (ConditionHoldsIFP (reset_vector_start condition)) ++ iR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | Reverse (d,n,datasize,op) -> - let iR = (xFP n) ++ iR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | CountLeading (d,n,datasize,opcode) -> - let iR = (xFP n) ++ iR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | Division (d,n,m,datasize,_unsigned) -> - let iR = (xFP n) ++ ((xFP m) ++ iR) in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | Shift (d,n,m,datasize,shift_type) -> - let iR = (xFP m) ++ iR in - let iR = (xFP n) ++ iR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | CRC (d,n,m,size,crc32c) -> - let iR = (xFP n) ++ ((xFP m) ++ iR) in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | MultiplyAddSub (d,n,m,a,destsize,datasize,sub_op) -> - let iR = (xFP n) ++ iR in - let iR = (xFP m) ++ iR in - let iR = (xFP a) ++ iR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | MultiplyAddSubLong (d,n,m,a,destsize,datasize,sub_op,_unsigned) -> - let iR = (xFP n) ++ iR in - let iR = (xFP m) ++ iR in - let iR = (xFP a) ++ iR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | MultiplyHigh (d,n,m,a,destsize,datasize,_unsigned) -> - let iR = (xFP n) ++ ((xFP m) ++ iR) in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - | LogicalShiftedRegister (d,n,m,datasize,setflags,op,shift_type,shift_amount,invert) -> - let iR = (xFP n) ++ ((xFP m) ++ iR) in - let oR = if bitU_to_bool setflags then NZCVfp ++ oR else oR in - let oR = (xFP d) ++ oR in - return (aR,Nias,iR,oR,ik) - end >>= fun (aR, Nias, iR, oR, ik) -> - return (iR,oR,aR,Nias,Dia,ik) - -let decodeBranchesExceptionSystem machineCode = - match machineCode with - | ((Vector [_;B0;B0;B1;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__392) -> - return (decodeUnconditionalBranchImmediate - (reset_vector_start (set_vector_start_to_length machineCode))) - | ((Vector [_;B0;B1;B1;B0;B1;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__403) -> - return (decodeCompareBranchImmediate - (reset_vector_start (set_vector_start_to_length machineCode))) - | ((Vector [_;B0;B1;B1;B0;B1;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__414) -> - return (decodeTestBranchImmediate (reset_vector_start (set_vector_start_to_length machineCode))) - | ((Vector [B0;B1;B0;B1;B0;B1;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__425) -> - return (decodeConditionalBranchImmediate - (reset_vector_start (set_vector_start_to_length machineCode))) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__436) -> - decodeExceptionGeneration (reset_vector_start machineCode) - | ((Vector [B1;B1;B0;B1;B0;B1;B0;B1;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__447) -> - decodeSystemImplementationDefined (reset_vector_start machineCode) - | ((Vector [B1;B1;B0;B1;B0;B1;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__458) -> - decodeUnconditionalBranchRegister (reset_vector_start machineCode) - end - -let IsSecure () = - read_reg_field CurrentEL "EL" >>= fun w__0 -> - if bitU_to_bool - ((HaveEL (reset_vector_start EL3)) &. - ((~(UsingAArch32 ())) &. - (eq_vec (set_vector_start_to_length w__0, set_vector_start_to_length EL3)))) - then return B1 - else - read_reg PSTATE_M >>= fun w__1 -> - if bitU_to_bool - ((HaveEL (reset_vector_start EL3)) &. - ((UsingAArch32 ()) &. (eq_vec (w__1, set_vector_start_to_length M32_Monitor)))) - then return B1 - else IsSecureBelowEL3 () - -let decodeLogicalImmediate ((Vector [sf;_;_;B1;B0;B0;B1;B0;B0;N;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__388) = - let opc = slice_raw v__388 (1:ii) (2:ii) in - let immr = slice_raw v__388 (10:ii) (15:ii) in - let imms = slice_raw v__388 (16:ii) (21:ii) in - let Rn = slice_raw v__388 (22:ii) (26:ii) in - let Rd = slice_raw v__388 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let setflags = B0 in - let op = LogicalOp_AND in - let (op, setflags) = - match opc with - | Vector [B0;B0] _ _ -> - let op = LogicalOp_AND in - let setflags = B0 in - (op,setflags) - | Vector [B0;B1] _ _ -> - let op = LogicalOp_ORR in - let setflags = B0 in - (op,setflags) - | Vector [B1;B0] _ _ -> - let op = LogicalOp_EOR in - let setflags = B0 in - (op,setflags) - | Vector [B1;B1] _ _ -> - let op = LogicalOp_AND in - let setflags = B1 in - (op,setflags) - end in - (if bitU_to_bool - ((eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) &. - (neq (match N with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)))) - then ReservedValue () - else return ()) >> - DecodeBitMasks (datasize,N,reset_vector_start imms,reset_vector_start immr,B1) >>= fun w__0 -> - let (imm, _) = match w__0 with | (v0v', v1v') -> (v0v',v1v') end in - return (Just (LogicalImmediate (d,n,datasize,setflags,op,reset_vector_start (set_vector_start_to_length - imm)))) - -let decodeBitfield ((Vector [sf;_;_;B1;B0;B0;B1;B1;B0;N;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__384) = - let opc = slice_raw v__384 (1:ii) (2:ii) in - let immr = slice_raw v__384 (10:ii) (15:ii) in - let imms = slice_raw v__384 (16:ii) (21:ii) in - let Rn = slice_raw v__384 (22:ii) (26:ii) in - let Rd = slice_raw v__384 (27:ii) (31:ii) in - let d = UInt_reg (reset_vector_start Rd) in - let n = UInt_reg (reset_vector_start Rn) in - let datasize = - if bitU_to_bool (eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then (64:ii) - else (32:ii) in - let inzero = B0 in - let extend = B0 in - let R = (0:ii) in - let S = (0:ii) in - match opc with - | Vector [B0;B0] _ _ -> - let inzero = B1 in - let extend = B1 in - return (inzero,extend) - | Vector [B0;B1] _ _ -> - let inzero = B0 in - let extend = B0 in - return (inzero,extend) - | Vector [B1;B0] _ _ -> - let inzero = B1 in - let extend = B0 in - return (inzero,extend) - | Vector [B1;B1] _ _ -> - UnallocatedEncoding () >> - return (inzero,extend) - end >>= fun (inzero, extend) -> - (if bitU_to_bool - ((eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) &. - (neq (match N with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))) - then ReservedValue () - else return ()) >> - (if bitU_to_bool - ((eq (match sf with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) &. - ((neq (match N with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) |. - ((neq (match (access immr (5:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) |. - (neq (match (access imms (5:ii)) with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)))))) - then ReservedValue () - else return ()) >> - let R = UInt (reset_vector_start (set_vector_start_to_length immr)) in - let S = UInt (reset_vector_start (set_vector_start_to_length imms)) in - DecodeBitMasks (datasize,N,reset_vector_start imms,reset_vector_start immr,B0) >>= fun (wmask, tmask) -> - return (Just (BitfieldMove (d,n,datasize,inzero,extend,R,S,reset_vector_start (set_vector_start_to_length - wmask),reset_vector_start (set_vector_start_to_length tmask)))) - -let AArch64_SetExclusiveMonitors (address, size) = - let acctype = AccType_ATOMIC in - let iswrite = B0 in - let aligned = - neq_vec - (set_vector_start_to_length address, - set_vector_start_to_length - (Align (reset_vector_start (set_vector_start_to_length address),size))) in - let memaddrdesc = - AArch64_TranslateAddress (reset_vector_start address,acctype,iswrite,aligned,size) in - if bitU_to_bool (IsFault memaddrdesc) - then () - else - let _ = - if bitU_to_bool memaddrdesc.AddressDescriptor_memattrs.MemoryAttributes_shareable - then MarkExclusiveGlobal (memaddrdesc.AddressDescriptor_paddress,ProcessorID (),size) - else () in - let _ = MarkExclusiveLocal (memaddrdesc.AddressDescriptor_paddress,ProcessorID (),size) in - AArch64_MarkExclusiveVA (reset_vector_start address,ProcessorID (),size) - -let AArch64_TakeReset cold_reset = - let _ = assert' (~(HighestELUsingAArch32 ())) (Nothing) in - write_reg PSTATE_nRW (to_vec_dec ((1:ii),(0:ii))) >> - (if bitU_to_bool (HaveEL (reset_vector_start EL3)) - then - write_reg_field CurrentEL "EL" (set_vector_start 3 EL3) >> - write_reg_bitfield SCR_EL3 "NS" B0 - else - if bitU_to_bool (HaveEL (reset_vector_start EL2)) - then write_reg_field CurrentEL "EL" (set_vector_start 3 EL2) - else write_reg_field CurrentEL "EL" (set_vector_start 3 EL1)) >> - let _ = AArch64_ResetControlRegisters cold_reset in - write_reg_bitfield SPSel "SP" B0 >> - wPSTATE_DAIF ((),reset_vector_start (Vector [B1;B1;B1;B1] 3 false)) >> - let PSTATE_SS = (0:ii) in - let PSTATE_IL = (0:ii) in - AArch64_ResetGeneralRegisters () >> - AArch64_ResetSIMDFPRegisters () >> - AArch64_ResetSpecialRegisters () >> - ResetExternalDebugRegisters cold_reset >> - let rv = to_vec_dec ((64:ii),(0:ii)) in - (if bitU_to_bool (HaveEL (reset_vector_start EL3)) - then read_reg RVBAR_EL3 - else - if bitU_to_bool (HaveEL (reset_vector_start EL2)) - then read_reg RVBAR_EL2 - else read_reg RVBAR_EL1) >>= fun rv -> - PAMax () >>= fun w__3 -> - let _ = - assert' ((IsZero - (reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length rv) (63:ii) w__3)))) &. - (IsZero - (reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length rv) (1:ii) (0:ii)))))) (Just "reset vector not correctly aligned") in - BranchTo (reset_vector_start (set_vector_start_to_length rv),BranchType_UNKNOWN) - -let AArch64_rMemSingle (read_buffer, address, size, acctype, wasaligned, exclusive) = - let _ = - assert' (eq_vec - (set_vector_start_to_length address, - set_vector_start_to_length - (Align (reset_vector_start (set_vector_start_to_length address),size)))) (Nothing) in - let value = set_vector_start_to_length (to_vec_dec (size * (8:ii),(0:ii))) in - let iswrite = B0 in - let memaddrdesc = - AArch64_TranslateAddress (reset_vector_start address,acctype,iswrite,wasaligned,size) in - (if bitU_to_bool (IsFault memaddrdesc) - then AArch64_Abort (reset_vector_start address,memaddrdesc.AddressDescriptor_fault) - else return ()) >> - return (_rMem (read_buffer,memaddrdesc,size,acctype,exclusive)) - -let AArch64_wMemSingle (write_buffer, address, size, acctype, wasaligned, exclusive, value) = - let _ = - assert' (eq_vec - (set_vector_start_to_length address, - set_vector_start_to_length - (Align (reset_vector_start (set_vector_start_to_length address),size)))) (Nothing) in - let iswrite = B1 in - let memaddrdesc = - AArch64_TranslateAddress (reset_vector_start address,acctype,iswrite,wasaligned,size) in - (if bitU_to_bool (IsFault memaddrdesc) - then AArch64_Abort (reset_vector_start address,memaddrdesc.AddressDescriptor_fault) - else return ()) >> - let _ = - if bitU_to_bool memaddrdesc.AddressDescriptor_memattrs.MemoryAttributes_shareable - then ClearExclusiveByAddress (memaddrdesc.AddressDescriptor_paddress,ProcessorID (),size) - else () in - return (_wMem - (write_buffer, - memaddrdesc, - size, - acctype, - exclusive, - reset_vector_start (set_vector_start_to_length value))) - -let AArch64_ExclusiveMonitorsPass (address, size) = - let acctype = AccType_ATOMIC in - let iswrite = B1 in - let aligned = - eq_vec - (set_vector_start_to_length address, - set_vector_start_to_length - (Align (reset_vector_start (set_vector_start_to_length address),size))) in - (if bitU_to_bool (~aligned) - then - let secondstage = B0 in - AArch64_Abort (reset_vector_start address,AArch64_AlignmentFault (acctype,iswrite,secondstage)) - else return ()) >> - let passed = AArch64_IsExclusiveVA (reset_vector_start address,ProcessorID (),size) in - (if bitU_to_bool (~passed) - then return (B0,passed) - else - let memaddrdesc = - AArch64_TranslateAddress (reset_vector_start address,acctype,iswrite,aligned,size) in - (if bitU_to_bool (IsFault memaddrdesc) - then AArch64_Abort (reset_vector_start address,memaddrdesc.AddressDescriptor_fault) - else return ()) >> - let passed = IsExclusiveLocal (memaddrdesc.AddressDescriptor_paddress,ProcessorID (),size) in - let passed = - if bitU_to_bool passed - then - let _ = ClearExclusiveLocal (ProcessorID ()) in - if bitU_to_bool memaddrdesc.AddressDescriptor_memattrs.MemoryAttributes_shareable - then IsExclusiveGlobal (memaddrdesc.AddressDescriptor_paddress,ProcessorID (),size) - else passed - else passed in - return (passed,passed)) >>= fun (w__0, passed) -> - return w__0 - -let decodeLoadsStores machineCode = - match machineCode with - | ((Vector [_;_;B0;B0;B1;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__80) -> - decodeLoadStoreExclusive (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;B0;B1;B1;_;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__99) -> - return (decodeLoadRegisterLiteral (reset_vector_start (set_vector_start_to_length machineCode))) - | ((Vector [_;_;B1;B0;B1;_;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__118) -> - decodeLoadStoreNoAllocatePairOffset - (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;B1;B0;B1;_;B0;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__137) -> - decodeLoadStoreRegisterPairPostIndexed - (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;B1;B0;B1;_;B0;B1;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__156) -> - decodeLoadStoreRegisterPairOffset (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;B1;B0;B1;_;B0;B1;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__175) -> - decodeLoadStoreRegisterPairPreIndexed - (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;B1;B1;B1;_;B0;B0;_;_;B0;_;_;_;_;_;_;_;_;_;B0;B0;_;_;_;_;_;_;_;_;_;_] _ _) as v__194) -> - decodeLoadStoreRegisterUnscaledImmediate - (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;B1;B1;B1;_;B0;B0;_;_;B0;_;_;_;_;_;_;_;_;_;B0;B1;_;_;_;_;_;_;_;_;_;_] _ _) as v__213) -> - decodeLoadStoreRegisterImmediatePostIndexed - (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;B1;B1;B1;_;B0;B0;_;_;B0;_;_;_;_;_;_;_;_;_;B1;B0;_;_;_;_;_;_;_;_;_;_] _ _) as v__232) -> - decodeLoadStoreRegisterUnprivileged - (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;B1;B1;B1;_;B0;B0;_;_;B0;_;_;_;_;_;_;_;_;_;B1;B1;_;_;_;_;_;_;_;_;_;_] _ _) as v__251) -> - decodeLoadStoreRegisterImmediatePreIndexed - (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;B1;B1;B1;_;B0;B0;_;_;B1;_;_;_;_;_;_;_;_;_;B1;B0;_;_;_;_;_;_;_;_;_;_] _ _) as v__270) -> - decodeLoadStoreRegisterRegisterOffset - (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;B1;B1;B1;_;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__289) -> - decodeLoadStoreRegisterUnsignedImmediate - (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [B0;_;B0;B0;B1;B1;B0;B0;B0;_;B0;B0;B0;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__308) -> - decodeAdvSIMDLoadStoreMultiStruct (reset_vector_start machineCode) - | ((Vector [B0;_;B0;B0;B1;B1;B0;B0;B1;_;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__327) -> - decodeAdvSIMDLoadStoreMultiStructPostIndexed (reset_vector_start machineCode) - | ((Vector [B0;_;B0;B0;B1;B1;B0;B1;B0;_;_;B0;B0;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__346) -> - decodeAdvSIMDLoadStoreSingleStruct (reset_vector_start machineCode) - | ((Vector [B0;_;B0;B0;B1;B1;B0;B1;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__365) -> - decodeAdvSIMDLoadStoreSingleStructPostIndexed (reset_vector_start machineCode) - end - -let S1TranslationRegime () = - read_reg_field CurrentEL "EL" >>= fun w__0 -> - if bitU_to_bool (neq_vec (set_vector_start_to_length w__0, set_vector_start_to_length EL0)) - then - read_reg_field CurrentEL "EL" >>= fun w__1 -> - return (set_vector_start 1 w__1) - else - IsSecure () >>= fun w__2 -> - return (if bitU_to_bool - (w__2 &. - ((HaveEL (reset_vector_start EL3)) &. (ELUsingAArch32 (reset_vector_start EL3)))) - then EL3 - else EL1) - -let AArch64_CheckForSMCTrap imm = - IsSecure () >>= fun w__0 -> - read_reg_field CurrentEL "EL" >>= fun w__1 -> - read_reg_field CurrentEL "EL" >>= fun w__2 -> - read_reg_bitfield HCR_EL2 "TSC" >>= fun w__3 -> - let route_to_el2 = - (HaveEL (reset_vector_start EL2)) &. - ((~w__0) &. - (((eq_vec (set_vector_start_to_length w__1, set_vector_start_to_length EL0)) |. - (eq_vec (set_vector_start_to_length w__2, set_vector_start_to_length EL1))) &. - (eq (match w__3 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))))) in - if bitU_to_bool route_to_el2 - then not_implemented "AArch64_CheckForSMCTrap route_to_el2" - else return () - -let CheckSystemAccess (op0, op1, crn, crm, op2, rt, read) = - let unallocated = B0 in - let need_secure = B0 in - let min_EL = to_vec_dec ((2:ii),(0:ii)) in - match op1 with - | ((Vector [B0;B0;_] _ _) as v__77) -> - let min_EL = EL1 in - return (need_secure,min_EL) - | Vector [B0;B1;B0] _ _ -> - let min_EL = EL1 in - return (need_secure,min_EL) - | Vector [B0;B1;B1] _ _ -> - let min_EL = EL0 in - return (need_secure,min_EL) - | Vector [B1;B0;B0] _ _ -> - let min_EL = EL2 in - return (need_secure,min_EL) - | Vector [B1;B0;B1] _ _ -> - UnallocatedEncoding () >> - return (need_secure,min_EL) - | Vector [B1;B1;B0] _ _ -> - let min_EL = EL3 in - return (need_secure,min_EL) - | Vector [B1;B1;B1] _ _ -> - let min_EL = EL1 in - let need_secure = B1 in - return (need_secure,min_EL) - end >>= fun (need_secure, min_EL) -> - read_reg_field CurrentEL "EL" >>= fun w__0 -> - if bitU_to_bool (lt_vec (set_vector_start_to_length w__0, set_vector_start_to_length min_EL)) - then UnallocatedEncoding () - else - IsSecure () >>= fun w__1 -> - if bitU_to_bool (need_secure &. (~w__1)) - then UnallocatedEncoding () - else - AArch64_CheckUnallocatedSystemAccess - (reset_vector_start op0, - reset_vector_start op1, - reset_vector_start crn, - reset_vector_start crm, - reset_vector_start op2, - read) >>= fun w__2 -> - if bitU_to_bool w__2 - then UnallocatedEncoding () - else return () - -let ExternalSecureInvasiveDebugEnabled () = - IsSecure () >>= fun w__0 -> - if bitU_to_bool ((~(HaveEL (reset_vector_start EL3))) &. (~w__0)) - then return B0 - else - ExternalInvasiveDebugEnabled () >>= fun w__1 -> - signalSPIDEN () >>= fun w__2 -> - return (w__1 &. (eq (w__2, HIGH))) - -let decodeDataImmediate machineCode = - match machineCode with - | ((Vector [_;_;_;B1;B0;B0;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__35) -> - return (decodePCRelAddressing (reset_vector_start (set_vector_start_to_length machineCode))) - | ((Vector [_;_;_;B1;B0;B0;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__42) -> - decodeAddSubtractImmediate (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;_;B1;B0;B0;B1;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__49) -> - decodeLogicalImmediate (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;_;B1;B0;B0;B1;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__56) -> - decodeMoveWideImmediate (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;_;B1;B0;B0;B1;B1;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__63) -> - decodeBitfield (reset_vector_start (set_vector_start_to_length machineCode)) - | ((Vector [_;_;_;B1;B0;B0;B1;B1;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__70) -> - decodeExtract (reset_vector_start (set_vector_start_to_length machineCode)) - end - -let SCTLR' () = - S1TranslationRegime () >>= fun w__0 -> - return (SCTLR (reset_vector_start w__0)) - -let HaltingAllowed () = - Halted () >>= fun w__0 -> - DoubleLockStatus () >>= fun w__1 -> - if bitU_to_bool (w__0 |. w__1) - then return B0 - else - IsSecure () >>= fun w__2 -> - if bitU_to_bool w__2 - then ExternalSecureInvasiveDebugEnabled () - else ExternalInvasiveDebugEnabled () - -let decode machineCode = - match machineCode with - | ((Vector [_;_;_;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__0) -> - return (Just (Unallocated)) - | ((Vector [_;_;_;B1;B0;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__5) -> - decodeDataImmediate (reset_vector_start machineCode) - | ((Vector [_;_;_;B1;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__10) -> - decodeBranchesExceptionSystem (reset_vector_start machineCode) - | ((Vector [_;_;_;_;B1;_;B0;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__15) -> - decodeLoadsStores (reset_vector_start machineCode) - | ((Vector [_;_;_;_;B1;B0;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__20) -> - decodeDataRegister (reset_vector_start machineCode) - | ((Vector [_;_;_;B0;B1;B1;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__25) -> - decodeDataSIMDFPoint1 (reset_vector_start machineCode) - | ((Vector [_;_;_;B1;B1;B1;B1;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_;_] _ _) as v__30) -> - decodeDataSIMDFPoint2 (reset_vector_start machineCode) - | _ -> return (Nothing) - end - -let BigEndian () = - let bigend = B0 in - if bitU_to_bool (UsingAArch32 ()) - then - read_reg PSTATE_E >>= fun w__0 -> - let bigend = neq_vec_range (w__0, (0:ii)) in - return bigend - else - read_reg_field CurrentEL "EL" >>= fun w__1 -> - if bitU_to_bool (eq_vec (set_vector_start_to_length w__1, set_vector_start_to_length EL0)) - then - read_reg_bitfield SCTLR_EL1 "E0E" >>= fun w__2 -> - let bigend = neq (match w__2 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)) in - return bigend - else - SCTLR' () >>= fun w__3 -> - read_reg_bitfield w__3 "EE" >>= fun w__4 -> - let bigend = neq (match w__4 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)) in - return bigend - -let flush_read_buffer (read_buffer, size) = - let _ = assert' (eq_range (read_buffer.read_buffer_type_size, size)) (Nothing) in - let value = set_vector_start_to_length (to_vec_dec (size * (8:ii),(0:ii))) in - (if bitU_to_bool read_buffer.read_buffer_type_exclusive - then - match read_buffer.read_buffer_type_acctype with - | AccType_ATOMIC -> - rMem_ATOMIC - (reset_vector_start read_buffer.read_buffer_type_address, - read_buffer.read_buffer_type_size) >>= fun w__0 -> - return (set_vector_start_to_length w__0) - | AccType_ORDERED -> - rMem_ATOMIC_ORDERED - (reset_vector_start read_buffer.read_buffer_type_address, - read_buffer.read_buffer_type_size) >>= fun w__1 -> - return (set_vector_start_to_length w__1) - | _ -> - not_implemented "unimplemented memory access" >> - return value - end - else - match read_buffer.read_buffer_type_acctype with - | AccType_NORMAL -> - rMem_NORMAL - (reset_vector_start read_buffer.read_buffer_type_address, - read_buffer.read_buffer_type_size) >>= fun w__2 -> - return (set_vector_start_to_length w__2) - | AccType_STREAM -> - rMem_STREAM - (reset_vector_start read_buffer.read_buffer_type_address, - read_buffer.read_buffer_type_size) >>= fun w__3 -> - return (set_vector_start_to_length w__3) - | AccType_UNPRIV -> - rMem_NORMAL - (reset_vector_start read_buffer.read_buffer_type_address, - read_buffer.read_buffer_type_size) >>= fun w__4 -> - return (set_vector_start_to_length w__4) - | AccType_ORDERED -> - rMem_ORDERED - (reset_vector_start read_buffer.read_buffer_type_address, - read_buffer.read_buffer_type_size) >>= fun w__5 -> - return (set_vector_start_to_length w__5) - | AccType_ATOMIC -> return value - end) >>= fun value -> - BigEndian () >>= fun w__6 -> - let value = - if bitU_to_bool w__6 - then - set_vector_start_to_length - (BigEndianReverse (reset_vector_start (set_vector_start_to_length value))) - else value in - return (set_vector_start_to_length value) - -let CheckSPAlignment () = - rSP (64:ii) >>= fun sp -> - let stack_align_check = B0 in - read_reg_field CurrentEL "EL" >>= fun w__0 -> - (if bitU_to_bool (eq_vec (set_vector_start_to_length w__0, set_vector_start_to_length EL0)) - then - read_reg_bitfield SCTLR_EL1 "SA0" >>= fun w__1 -> - let stack_align_check = neq (match w__1 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)) in - return stack_align_check - else - SCTLR' () >>= fun w__2 -> - read_reg_bitfield w__2 "SA" >>= fun w__3 -> - let stack_align_check = neq (match w__3 with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii)) in - return stack_align_check) >>= fun stack_align_check -> - if bitU_to_bool - (stack_align_check &. - (neq_vec - (set_vector_start_to_length sp, - set_vector_start_to_length - (Align (reset_vector_start (set_vector_start_to_length sp),(16:ii)))))) - then AArch64_SPAlignmentFault () - else return () - -let AArch64_CheckAlignment (address, size, acctype, iswrite) = - let aligned = - eq_vec - (set_vector_start_to_length address, - set_vector_start_to_length - (Align (reset_vector_start (set_vector_start_to_length address),size))) in - SCTLR' () >>= fun w__0 -> - read_reg_bitfield w__0 "A" >>= fun A -> - (if bitU_to_bool - ((~aligned) &. - ((eq (acctype, AccType_ATOMIC)) |. - ((eq (acctype, AccType_ORDERED)) |. - (eq (match A with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii)))))) - then - let secondstage = B0 in - AArch64_Abort (reset_vector_start address,AArch64_AlignmentFault (acctype,iswrite,secondstage)) - else return ()) >> - return aligned - -let rMem' (read_buffer, address, size, acctype, exclusive) = - let read_buffer' = read_buffer in - let i = (0:ii) in - let iswrite = B0 in - AArch64_CheckAlignment (reset_vector_start address,size,acctype,iswrite) >>= fun aligned -> - let atomic = - (aligned &. (~((eq (acctype, AccType_VEC)) |. (eq (acctype, AccType_VECSTREAM))))) |. - (eq_range (size, (1:ii))) in - if bitU_to_bool (~atomic) - then - let _ = assert' (~exclusive) (Nothing) in - let _ = assert' (gt (size, (1:ii))) (Nothing) in - if bitU_to_bool (~exclusive) - then - AArch64_rMemSingle (read_buffer',reset_vector_start address,(1:ii),acctype,aligned,B0) >>= fun w__0 -> - let read_buffer' = w__0 in - (foreachM_inc ((1:ii),size - (1:ii),(1:ii)) read_buffer' - (fun i read_buffer' -> - AArch64_rMemSingle - (read_buffer', - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) i)), - (1:ii), - acctype, - aligned, - B0))) - else return read_buffer' - else AArch64_rMemSingle (read_buffer',reset_vector_start address,size,acctype,aligned,exclusive) - -let wMem' (write_buffer, address, size, acctype, value, exclusive) = - let write_buffer' = write_buffer in - let value' = set_vector_start_to_length value in - let i = (0:ii) in - let iswrite = B1 in - BigEndian () >>= fun w__0 -> - let value' = - if bitU_to_bool w__0 - then - set_vector_start_to_length - (BigEndianReverse (reset_vector_start (set_vector_start_to_length value'))) - else value' in - AArch64_CheckAlignment (reset_vector_start address,size,acctype,iswrite) >>= fun aligned -> - let atomic = - (aligned &. (~((eq (acctype, AccType_VEC)) |. (eq (acctype, AccType_VECSTREAM))))) |. - (eq_range (size, (1:ii))) in - let exclusiveSuccess = B0 in - if bitU_to_bool (~atomic) - then - let _ = assert' (~exclusive) (Nothing) in - if bitU_to_bool (~exclusive) - then - let _ = assert' (gt (size, (1:ii))) (Nothing) in - AArch64_wMemSingle - (write_buffer', - reset_vector_start address, - (1:ii), - acctype, - aligned, - B0, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length value') (7:ii) (0:ii)))) >>= fun w__1 -> - let write_buffer' = w__1 in - (foreachM_inc ((1:ii),size - (1:ii),(1:ii)) write_buffer' - (fun i write_buffer' -> - AArch64_wMemSingle - (write_buffer', - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) i)), - (1:ii), - acctype, - aligned, - B0, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length value') (((8:ii) * i) + (7:ii)) ((8:ii) * i)))))) - else return write_buffer' - else - AArch64_wMemSingle - (write_buffer', - reset_vector_start address, - size, - acctype, - aligned, - exclusive, - reset_vector_start (set_vector_start_to_length value')) - -let rMem (read_buffer, address, size, acctype) = - rMem' (read_buffer,reset_vector_start address,size,acctype,B0) - -let rMem_exclusive (read_buffer, address, size, acctype) = - rMem' (read_buffer,reset_vector_start address,size,acctype,B1) - -let wMem (write_buffer, address, size, acctype, value) = - wMem' - (write_buffer, - reset_vector_start address, - size, - acctype, - reset_vector_start (set_vector_start_to_length value), - B0) - -let wMem_exclusive (write_buffer, address, size, acctype, value) = - wMem' - (write_buffer, - reset_vector_start address, - size, - acctype, - reset_vector_start (set_vector_start_to_length value), - B1) - - - -let execute_TMStart t = - read_reg TxNestingLevel >>= fun nesting -> - read_reg_field TXIDR_EL0 "DEPTH" >>= fun w__0 -> - if bitU_to_bool - (lt_vec_unsigned (set_vector_start_to_length nesting, set_vector_start_to_length w__0)) - then - write_reg - TxNestingLevel - (set_vector_start 7 (add_VIV (reset_vector_start (set_vector_start_to_length nesting)) (1:ii))) >> - let status = to_vec_dec ((64:ii),(0:ii)) in - (if bitU_to_bool (eq_vec_range (set_vector_start_to_length nesting, (0:ii))) - then read_reg TMStartEffect - else return status) >>= fun status -> - wX (t,reset_vector_start (set_vector_start_to_length status)) - else - let status = to_vec_dec ((64:ii),(0:ii)) in - let status = update_pos status (10:ii) B1 in - write_reg TMAbortEffect status - -let execute_TMCommit () = - read_reg TxNestingLevel >>= fun nesting -> - (if bitU_to_bool (eq_vec_range (set_vector_start_to_length nesting, (1:ii))) - then TMCommitEffect () - else - if bitU_to_bool (eq_vec_range (set_vector_start_to_length nesting, (0:ii))) - then AArch64_UndefinedFault () - else return ()) >> - write_reg - TxNestingLevel - (set_vector_start 7 (minus_VIV (reset_vector_start (set_vector_start_to_length nesting)) (1:ii))) - -let execute_TMTest () = - read_reg TxNestingLevel >>= fun w__0 -> - if bitU_to_bool (gt_vec_range (w__0, (0:ii))) - then wPSTATE_NZCV ((),reset_vector_start (Vector [B0;B0;B0;B0] 3 false)) - else wPSTATE_NZCV ((),reset_vector_start (Vector [B0;B1;B0;B0] 3 false)) - -let execute_TMAbort (retry, reason) = - read_reg TxNestingLevel >>= fun w__0 -> - if bitU_to_bool (gt_vec_range (w__0, (0:ii))) - then - let status = to_vec_dec ((64:ii),(0:ii)) in - let status = update status (4:ii) (0:ii) reason in - let status = update_pos status (8:ii) retry in - let status = update_pos status (9:ii) B1 in - write_reg TMAbortEffect status - else return () - -let execute_CompareAndBranch (t, datasize, iszero, offset) = - rX (datasize,t) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - if bitU_to_bool - (eq_bit (IsZero (reset_vector_start (set_vector_start_to_length operand1)), iszero)) - then - rPC () >>= fun w__1 -> - BranchTo - (reset_vector_start (set_vector_start_to_length - (add_VVV - (reset_vector_start (set_vector_start_to_length w__1)) - (reset_vector_start (set_vector_start_to_length offset)))), - BranchType_JMP) - else return () - -let execute_BranchConditional (offset, condition) = - ConditionHolds (reset_vector_start condition) >>= fun w__0 -> - if bitU_to_bool w__0 - then - rPC () >>= fun w__1 -> - BranchTo - (reset_vector_start (set_vector_start_to_length - (add_VVV - (reset_vector_start (set_vector_start_to_length w__1)) - (reset_vector_start (set_vector_start_to_length offset)))), - BranchType_JMP) - else return () - -let execute_GenerateExceptionEL1 imm = AArch64_CallSupervisor (reset_vector_start imm) - -let execute_GenerateExceptionEL2 imm = - read_reg_field CurrentEL "EL" >>= fun w__0 -> - read_reg_field CurrentEL "EL" >>= fun w__1 -> - IsSecure () >>= fun w__2 -> - (if bitU_to_bool - ((~(HaveEL (reset_vector_start EL2))) |. - ((eq_vec (set_vector_start_to_length w__0, set_vector_start_to_length EL0)) |. - ((eq_vec (set_vector_start_to_length w__1, set_vector_start_to_length EL1)) &. w__2))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool (HaveEL (reset_vector_start EL3)) - then read_reg_bitfield SCR_EL3 "HCE" - else - read_reg_bitfield HCR_EL2 "HCD" >>= fun w__4 -> - return (NOT' w__4)) >>= fun hvc_enable -> - if bitU_to_bool (eq (match hvc_enable with | B0 -> (0:ii) | B1 -> (1:ii) end, (0:ii))) - then AArch64_UndefinedFault () - else AArch64_CallHypervisor (reset_vector_start imm) - -let execute_GenerateExceptionEL3 imm = - read_reg_field CurrentEL "EL" >>= fun w__0 -> - (if bitU_to_bool - ((~(HaveEL (reset_vector_start EL3))) |. - (eq_vec (set_vector_start_to_length w__0, set_vector_start_to_length EL0))) - then UnallocatedEncoding () - else return ()) >> - AArch64_CheckForSMCTrap (reset_vector_start imm) >> - read_reg_bitfield SCR_EL3 "SMD" >>= fun w__1 -> - if bitU_to_bool (eq (match w__1 with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then AArch64_UndefinedFault () - else AArch64_CallSecureMonitor (reset_vector_start imm) - -let execute_DebugBreakpoint comment = AArch64_SoftwareBreakpoint (reset_vector_start comment) - -let execute_ExternalDebugBreakpoint () = Halt (reset_vector_start DebugHalt_HaltInstruction) - -let execute_DebugSwitchToExceptionLevel target_level = - DCPSInstruction (reset_vector_start target_level) - -let execute_MoveSystemImmediate (operand, field') = - match field' with - | PSTATEField_SP -> write_reg_bitfield SPSel "SP" (access operand (0:ii)) - | PSTATEField_DAIFSet -> - read_reg_bitfield DAIF "D" >>= fun w__0 -> - write_reg_bitfield DAIF "D" (w__0 |. (access operand (3:ii))) >> - read_reg_bitfield DAIF "A" >>= fun w__1 -> - write_reg_bitfield DAIF "A" (w__1 |. (access operand (2:ii))) >> - read_reg_bitfield DAIF "I" >>= fun w__2 -> - write_reg_bitfield DAIF "I" (w__2 |. (access operand (1:ii))) >> - read_reg_bitfield DAIF "F" >>= fun w__3 -> - write_reg_bitfield DAIF "F" (w__3 |. (access operand (0:ii))) - | PSTATEField_DAIFClr -> - read_reg_bitfield DAIF "D" >>= fun w__4 -> - write_reg_bitfield DAIF "D" (w__4 &. (NOT' (access operand (3:ii)))) >> - read_reg_bitfield DAIF "A" >>= fun w__5 -> - write_reg_bitfield DAIF "A" (w__5 &. (NOT' (access operand (2:ii)))) >> - read_reg_bitfield DAIF "I" >>= fun w__6 -> - write_reg_bitfield DAIF "I" (w__6 &. (NOT' (access operand (1:ii)))) >> - read_reg_bitfield DAIF "F" >>= fun w__7 -> - write_reg_bitfield DAIF "F" (w__7 &. (NOT' (access operand (0:ii)))) - end - -let execute_Hint op = - match op with - | SystemHintOp_YIELD -> return (Hint_Yield ()) - | SystemHintOp_WFE -> - EventRegistered () >>= fun w__0 -> - if bitU_to_bool w__0 - then ClearEventRegister () - else - read_reg_field CurrentEL "EL" >>= fun w__1 -> - (if bitU_to_bool (eq_vec (set_vector_start_to_length w__1, set_vector_start_to_length EL0)) - then AArch64_CheckForWFxTrap (reset_vector_start EL1,B1) - else return ()) >> - IsSecure () >>= fun w__2 -> - read_reg_field CurrentEL "EL" >>= fun w__3 -> - read_reg_field CurrentEL "EL" >>= fun w__4 -> - (if bitU_to_bool - ((HaveEL (reset_vector_start EL2)) &. - ((~w__2) &. - ((eq_vec (set_vector_start_to_length w__3, set_vector_start_to_length EL0)) |. - (eq_vec (set_vector_start_to_length w__4, set_vector_start_to_length EL1))))) - then AArch64_CheckForWFxTrap (reset_vector_start EL2,B1) - else return ()) >> - read_reg_field CurrentEL "EL" >>= fun w__5 -> - (if bitU_to_bool - ((HaveEL (reset_vector_start EL3)) &. - (neq_vec (set_vector_start_to_length w__5, set_vector_start_to_length EL3))) - then AArch64_CheckForWFxTrap (reset_vector_start EL3,B1) - else return ()) >> - WaitForEvent () - | SystemHintOp_WFI -> - InterruptPending () >>= fun w__6 -> - if bitU_to_bool (~w__6) - then - read_reg_field CurrentEL "EL" >>= fun w__7 -> - (if bitU_to_bool (eq_vec (set_vector_start_to_length w__7, set_vector_start_to_length EL0)) - then AArch64_CheckForWFxTrap (reset_vector_start EL1,B0) - else return ()) >> - IsSecure () >>= fun w__8 -> - read_reg_field CurrentEL "EL" >>= fun w__9 -> - read_reg_field CurrentEL "EL" >>= fun w__10 -> - (if bitU_to_bool - ((HaveEL (reset_vector_start EL2)) &. - ((~w__8) &. - ((eq_vec (set_vector_start_to_length w__9, set_vector_start_to_length EL0)) |. - (eq_vec (set_vector_start_to_length w__10, set_vector_start_to_length EL1))))) - then AArch64_CheckForWFxTrap (reset_vector_start EL2,B0) - else return ()) >> - read_reg_field CurrentEL "EL" >>= fun w__11 -> - (if bitU_to_bool - ((HaveEL (reset_vector_start EL3)) &. - (neq_vec (set_vector_start_to_length w__11, set_vector_start_to_length EL3))) - then AArch64_CheckForWFxTrap (reset_vector_start EL3,B0) - else return ()) >> - WaitForInterrupt () - else return () - | SystemHintOp_SEV -> return (SendEvent ()) - | SystemHintOp_SEVL -> EventRegisterSet () - | _ -> return () - end - -let execute_ClearExclusiveMonitor imm = return (ClearExclusiveLocal (ProcessorID ())) - -let execute_Barrier (op, domain, types) = - match op with - | MemBarrierOp_DSB -> DataSynchronizationBarrier (domain,types) - | MemBarrierOp_DMB -> DataMemoryBarrier (domain,types) - | MemBarrierOp_ISB -> InstructionSynchronizationBarrier () - end - -let execute_System (t, sys_op0, sys_op1, sys_op2, sys_crn, sys_crm, has_result) = - if bitU_to_bool has_result - then - SysOp_R (sys_op0,sys_op1,sys_crn,sys_crm,sys_op2) >>= fun w__0 -> - wX (t,reset_vector_start (set_vector_start_to_length w__0)) - else - rX ((64:ii),t) >>= fun w__1 -> - SysOp_W (sys_op0,sys_op1,sys_crn,sys_crm,sys_op2,reset_vector_start w__1) - -let execute_MoveSystemRegister (t, sys_op0, sys_op1, sys_op2, sys_crn, sys_crm, read) = - if bitU_to_bool read - then - System_Get (sys_op0,sys_op1,sys_crn,sys_crm,sys_op2) >>= fun w__0 -> - wX (t,reset_vector_start (set_vector_start_to_length w__0)) - else - rX ((64:ii),t) >>= fun w__1 -> - System_Put (sys_op0,sys_op1,sys_crn,sys_crm,sys_op2,reset_vector_start w__1) - -let execute_ImplementationDefinedTestBeginEnd isEnd = - return (if bitU_to_bool isEnd - then info "test ends" - else info "test begins") - -let execute_ImplementationDefinedStopFetching () = return (info "stop fetching instructions") - -let execute_ImplementationDefinedThreadStart () = return (info "thread start") - -let execute_TestBitAndBranch (t, datasize, bit_pos, bit_val, offset) = - rX (datasize,t) >>= fun w__0 -> - let operand = set_vector_start_to_length w__0 in - if bitU_to_bool (eq_bit (access (set_vector_start_to_length operand) bit_pos, bit_val)) - then - rPC () >>= fun w__1 -> - BranchTo - (reset_vector_start (set_vector_start_to_length - (add_VVV - (reset_vector_start (set_vector_start_to_length w__1)) - (reset_vector_start (set_vector_start_to_length offset)))), - BranchType_JMP) - else return () - -let execute_BranchImmediate (branch_type, offset) = - (if bitU_to_bool (eq (branch_type, BranchType_CALL)) - then - rPC () >>= fun w__0 -> - wX - ((30:ii), - reset_vector_start (set_vector_start_to_length - (add_VIV (reset_vector_start (set_vector_start_to_length w__0)) (4:ii)))) - else return ()) >> - rPC () >>= fun w__1 -> - BranchTo - (reset_vector_start (set_vector_start_to_length - (add_VVV - (reset_vector_start (set_vector_start_to_length w__1)) - (reset_vector_start (set_vector_start_to_length offset)))), - branch_type) - -let execute_BranchRegister (n, branch_type) = - rX ((64:ii),n) >>= fun target -> - (if bitU_to_bool (eq (branch_type, BranchType_CALL)) - then - rPC () >>= fun w__0 -> - wX - ((30:ii), - reset_vector_start (set_vector_start_to_length - (add_VIV (reset_vector_start (set_vector_start_to_length w__0)) (4:ii)))) - else return ()) >> - BranchTo (reset_vector_start (set_vector_start_to_length target),branch_type) - -let execute_ExceptionReturn () = - rELR' () >>= fun w__0 -> - rSPSR () >>= fun w__1 -> - AArch64_ExceptionReturn (reset_vector_start w__0,reset_vector_start w__1) - -let execute_DebugRestorePState () = DRPSInstruction () - -let execute_LoadLiteral (t, memop, _signed, size, offset, datasize) = - rPC () >>= fun w__0 -> - let address = - set_vector_start 63 - (add_VVV - (reset_vector_start (set_vector_start_to_length w__0)) - (reset_vector_start (set_vector_start_to_length offset))) in - let data = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - match memop with - | MemOp_LOAD -> - rMem (empty_read_buffer,reset_vector_start address,size,AccType_NORMAL) >>= fun w__1 -> - flush_read_buffer (w__1,size) >>= fun w__2 -> - let data = set_vector_start_to_length w__2 in - (if bitU_to_bool _signed - then - wX - (t, - reset_vector_start (set_vector_start_to_length - (SignExtend ((64:ii),reset_vector_start (set_vector_start_to_length data))))) - else wX (t,reset_vector_start (set_vector_start_to_length data))) >> - return data - | MemOp_PREFETCH -> return data - end >>= fun data -> - return () - -let execute_LoadStoreAcqExc (n, t, t2, s, acctype, excl, pair, memop, elsize, regsize, datasize) = - let address = to_vec_dec ((64:ii),(0:ii)) in - let data = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - let dbytes = quot datasize (8:ii) in - let rt_unknown = B0 in - let rn_unknown = B0 in - (if bitU_to_bool ((eq (memop, MemOp_LOAD)) &. (pair &. (eq_range (t, t2)))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool ((eq (memop, MemOp_STORE)) &. excl) - then - (if bitU_to_bool ((eq_range (s, t)) |. (pair &. (eq_range (s, t2)))) - then UnallocatedEncoding () - else return ()) >> - if bitU_to_bool ((eq_range (s, n)) &. (neq_range (n, (31:ii)))) - then UnallocatedEncoding () - else return () - else return ()) >> - let status = B0 in - (if bitU_to_bool ((eq (memop, MemOp_STORE)) &. excl) - then - speculate_exclusive_success () >>= fun w__0 -> - let status = if bitU_to_bool w__0 then B0 else B1 in - wX - (s, - reset_vector_start (set_vector_start_to_length - (ZeroExtend - ((32:ii), - reset_vector_start (set_vector_start_to_length (Vector [status] 0 false)))))) >> - return status - else return status) >>= fun status -> - (if bitU_to_bool (eq (match status with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then return (address,data,status) - else - (if bitU_to_bool (eq_range (n, (31:ii))) - then - CheckSPAlignment () >> - rSP (64:ii) - else - if bitU_to_bool rn_unknown - then - let address = to_vec_dec ((64:ii),UNKNOWN) in - return address - else rX ((64:ii),n)) >>= fun address -> - match memop with - | MemOp_STORE -> - wMem_Addr (reset_vector_start address,dbytes,acctype,excl) >> - (if bitU_to_bool rt_unknown - then - let data = set_vector_start_to_length (to_vec_dec (length data,UNKNOWN)) in - return data - else - if bitU_to_bool pair - then - let _ = assert' excl (Nothing) in - rX (regsize,t) >>= fun w__3 -> - let el1 = set_vector_start_to_length w__3 in - rX (length el1,t2) >>= fun w__4 -> - let el2 = set_vector_start_to_length w__4 in - BigEndian () >>= fun w__5 -> - let data = - if bitU_to_bool w__5 - then - set_vector_start_to_length - ((set_vector_start_to_length el1) ^^ (set_vector_start_to_length el2)) - else - set_vector_start_to_length - ((set_vector_start_to_length el2) ^^ (set_vector_start_to_length el1)) in - return data - else - rX (length data,t) >>= fun w__6 -> - return (set_vector_start_to_length w__6)) >>= fun data -> - (if bitU_to_bool excl - then - let status = B1 in - AArch64_ExclusiveMonitorsPass (reset_vector_start address,dbytes) >>= fun w__7 -> - if bitU_to_bool w__7 - then - wMem_exclusive - (empty_write_buffer, - reset_vector_start address, - dbytes, - acctype, - reset_vector_start (set_vector_start_to_length data)) >>= fun w__8 -> - flush_write_buffer_exclusive w__8 - else return status - else - wMem - (empty_write_buffer, - reset_vector_start address, - dbytes, - acctype, - reset_vector_start (set_vector_start_to_length data)) >>= fun w__10 -> - flush_write_buffer w__10 >> - return status) >>= fun status -> - return (data,status) - | MemOp_LOAD -> - let _ = - if bitU_to_bool excl - then AArch64_SetExclusiveMonitors (reset_vector_start address,dbytes) - else () in - (if bitU_to_bool pair - then - let _ = assert' excl (Nothing) in - if bitU_to_bool rt_unknown - then - wX - (t, - reset_vector_start (set_vector_start_to_length (to_vec_dec (length data,UNKNOWN)))) >> - return data - else - if bitU_to_bool (eq_range (elsize, (32:ii))) - then - rMem_exclusive (empty_read_buffer,reset_vector_start address,dbytes,acctype) >>= fun w__11 -> - flush_read_buffer (w__11,dbytes) >>= fun w__12 -> - let data = set_vector_start_to_length w__12 in - BigEndian () >>= fun w__13 -> - (if bitU_to_bool w__13 - then - wX - (t, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length data) (datasize - (1:ii)) elsize))) >> - wX - (t2, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length data) (elsize - (1:ii)) (0:ii)))) - else - wX - (t, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length data) (elsize - (1:ii)) (0:ii)))) >> - wX - (t2, - reset_vector_start (set_vector_start_to_length - (slice (set_vector_start_to_length data) (datasize - (1:ii)) elsize)))) >> - return data - else - (if bitU_to_bool - (neq_vec - (set_vector_start_to_length address, - set_vector_start_to_length - (Align (reset_vector_start (set_vector_start_to_length address),dbytes)))) - then - let iswrite = B0 in - let secondstage = B0 in - AArch64_Abort - (reset_vector_start address, - AArch64_AlignmentFault (acctype,iswrite,secondstage)) - else return ()) >> - rMem_exclusive - (empty_read_buffer, - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) (0:ii))), - (8:ii), - acctype) >>= fun read_buffer -> - rMem_exclusive - (read_buffer, - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) (8:ii))), - (8:ii), - acctype) >>= fun w__14 -> - let read_buffer = w__14 in - flush_read_buffer (read_buffer,(8:ii) * (2:ii)) >>= fun w__15 -> - let value = set_vector_start 127 w__15 in - wX (t,reset_vector_start (set_vector_start_to_length (slice value (63:ii) (0:ii)))) >> - wX - (t2, - reset_vector_start (set_vector_start_to_length (slice value (127:ii) (64:ii)))) >> - return data - else - rMem' (empty_read_buffer,reset_vector_start address,dbytes,acctype,excl) >>= fun w__16 -> - flush_read_buffer (w__16,dbytes) >>= fun w__17 -> - let data = set_vector_start_to_length w__17 in - wX - (t, - reset_vector_start (set_vector_start_to_length - (set_vector_start_to_length - (ZeroExtend (regsize,reset_vector_start (set_vector_start_to_length data)))))) >> - return data) >>= fun data -> - return (data,status) - end >>= fun (data, status) -> - return (address,data,status)) >>= fun (address, data, status) -> - return () - -let execute_LoadStorePairNonTemp (wback, postindex, n, t, t2, acctype, memop, scale, datasize, offset) = - let address = to_vec_dec ((64:ii),(0:ii)) in - let data1 = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - let data2 = set_vector_start_to_length (to_vec_dec (length data1,(0:ii))) in - let dbytes = quot datasize (8:ii) in - let rt_unknown = B0 in - (if bitU_to_bool ((eq (memop, MemOp_LOAD)) &. (eq_range (t, t2))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool (eq_range (n, (31:ii))) - then - CheckSPAlignment () >> - rSP (64:ii) - else rX ((64:ii),n)) >>= fun address -> - let address = - if bitU_to_bool (~postindex) - then - set_vector_start 63 - (add_VVV - (reset_vector_start (set_vector_start_to_length address)) - (reset_vector_start (set_vector_start_to_length offset))) - else address in - (if bitU_to_bool (eq (memop, MemOp_STORE)) - then wMem_Addr (reset_vector_start address,dbytes * (2:ii),acctype,B0) - else return ()) >> - (if bitU_to_bool wback - then - let address' = - if bitU_to_bool (~postindex) - then address - else - add_VVV - (reset_vector_start (set_vector_start_to_length address)) - (reset_vector_start (set_vector_start_to_length offset)) in - if bitU_to_bool (eq_range (n, (31:ii))) - then wSP ((),reset_vector_start (set_vector_start_to_length address')) - else wX (n,reset_vector_start (set_vector_start_to_length address')) - else return ()) >> - match memop with - | MemOp_STORE -> - (if bitU_to_bool (rt_unknown &. (eq_range (t, n))) - then - let data1 = set_vector_start_to_length (to_vec_dec (length data1,UNKNOWN)) in - return data1 - else - rX (length data1,t) >>= fun w__2 -> - return (set_vector_start_to_length w__2)) >>= fun data1 -> - (if bitU_to_bool (rt_unknown &. (eq_range (t2, n))) - then - let data2 = set_vector_start_to_length (to_vec_dec (length data1,UNKNOWN)) in - return data2 - else - rX (length data1,t2) >>= fun w__3 -> - return (set_vector_start_to_length w__3)) >>= fun data2 -> - wMem - (empty_write_buffer, - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) (0:ii))), - dbytes, - acctype, - reset_vector_start (set_vector_start_to_length data1)) >>= fun write_buffer -> - wMem - (write_buffer, - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) dbytes)), - dbytes, - acctype, - reset_vector_start (set_vector_start_to_length data2)) >>= fun w__4 -> - let write_buffer = w__4 in - flush_write_buffer write_buffer >> - return (data1,data2) - | MemOp_LOAD -> - rMem - (empty_read_buffer, - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) (0:ii))), - dbytes, - acctype) >>= fun read_buffer -> - rMem - (read_buffer, - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) dbytes)), - dbytes, - acctype) >>= fun w__5 -> - let read_buffer = w__5 in - flush_read_buffer (read_buffer,dbytes * (2:ii)) >>= fun w__6 -> - let read_data = set_vector_start_to_length w__6 in - let data1 = - set_vector_start_to_length - (slice (set_vector_start_to_length read_data) (datasize - (1:ii)) (0:ii)) in - let data2 = - set_vector_start_to_length - (slice (set_vector_start_to_length read_data) ((datasize * (2:ii)) - (1:ii)) datasize) in - let (data1, data2) = - if bitU_to_bool rt_unknown - then - let data1 = set_vector_start_to_length (to_vec_dec (length data1,UNKNOWN)) in - let data2 = set_vector_start_to_length (to_vec_dec (length data1,UNKNOWN)) in - (data1,data2) - else (data1,data2) in - wX (t,reset_vector_start (set_vector_start_to_length data1)) >> - wX (t2,reset_vector_start (set_vector_start_to_length data2)) >> - return (data1,data2) - end >>= fun (data1, data2) -> - return () - -let execute_LoadImmediate (n, t, acctype, memop, _signed, wback, postindex, offset, regsize, datasize) = - let address = to_vec_dec ((64:ii),(0:ii)) in - let data = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - let wb_unknown = B0 in - let rt_unknown = B0 in - (if bitU_to_bool - ((eq (memop, MemOp_LOAD)) &. (wback &. ((eq_range (n, t)) &. (neq_range (n, (31:ii)))))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool - ((eq (memop, MemOp_STORE)) &. (wback &. ((eq_range (n, t)) &. (neq_range (n, (31:ii)))))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool (eq_range (n, (31:ii))) - then - (if bitU_to_bool (neq (memop, MemOp_PREFETCH)) - then CheckSPAlignment () - else return ()) >> - rSP (64:ii) - else rX ((64:ii),n)) >>= fun address -> - let address = - if bitU_to_bool (~postindex) - then - set_vector_start 63 - (add_VVV - (reset_vector_start (set_vector_start_to_length address)) - (reset_vector_start (set_vector_start_to_length offset))) - else address in - (if bitU_to_bool (eq (memop, MemOp_STORE)) - then wMem_Addr (reset_vector_start address,quot datasize (8:ii),acctype,B0) - else return ()) >> - (if bitU_to_bool wback - then - let address' = - if bitU_to_bool (~postindex) - then address - else - add_VVV - (reset_vector_start (set_vector_start_to_length address)) - (reset_vector_start (set_vector_start_to_length offset)) in - if bitU_to_bool (eq_range (n, (31:ii))) - then wSP ((),reset_vector_start (set_vector_start_to_length address')) - else wX (n,reset_vector_start (set_vector_start_to_length address')) - else return ()) >> - match memop with - | MemOp_STORE -> - (if bitU_to_bool rt_unknown - then - let data = set_vector_start_to_length (to_vec_dec (length data,UNKNOWN)) in - return data - else - rX (length data,t) >>= fun w__2 -> - return (set_vector_start_to_length w__2)) >>= fun data -> - wMem - (empty_write_buffer, - reset_vector_start address, - quot datasize (8:ii), - acctype, - reset_vector_start (set_vector_start_to_length data)) >>= fun w__3 -> - flush_write_buffer w__3 >> - return data - | MemOp_LOAD -> - rMem (empty_read_buffer,reset_vector_start address,quot datasize (8:ii),acctype) >>= fun w__4 -> - flush_read_buffer (w__4,quot datasize (8:ii)) >>= fun w__5 -> - let data = set_vector_start_to_length w__5 in - (if bitU_to_bool _signed - then - wX - (t, - reset_vector_start (set_vector_start_to_length - (set_vector_start_to_length - (SignExtend (regsize,reset_vector_start (set_vector_start_to_length data)))))) - else - wX - (t, - reset_vector_start (set_vector_start_to_length - (set_vector_start_to_length - (ZeroExtend (regsize,reset_vector_start (set_vector_start_to_length data))))))) >> - return data - | MemOp_PREFETCH -> return data - end >>= fun data -> - return () - -let execute_LoadRegister (n, t, m, acctype, memop, _signed, wback, postindex, extend_type, shift, regsize, datasize) = - ExtendReg ((64:ii),m,extend_type,shift) >>= fun offset -> - let address = to_vec_dec ((64:ii),(0:ii)) in - let data = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - let wb_unknown = B0 in - let rt_unknown = B0 in - (if bitU_to_bool - ((eq (memop, MemOp_LOAD)) &. (wback &. ((eq_range (n, t)) &. (neq_range (n, (31:ii)))))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool - ((eq (memop, MemOp_STORE)) &. (wback &. ((eq_range (n, t)) &. (neq_range (n, (31:ii)))))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool (eq_range (n, (31:ii))) - then - (if bitU_to_bool (neq (memop, MemOp_PREFETCH)) - then CheckSPAlignment () - else return ()) >> - rSP (64:ii) - else rX ((64:ii),n)) >>= fun address -> - let address = - if bitU_to_bool (~postindex) - then - set_vector_start 63 - (add_VVV - (reset_vector_start (set_vector_start_to_length address)) - (reset_vector_start (set_vector_start_to_length offset))) - else address in - (if bitU_to_bool (eq (memop, MemOp_STORE)) - then wMem_Addr (reset_vector_start address,quot datasize (8:ii),acctype,B0) - else return ()) >> - (if bitU_to_bool wback - then - let address' = - if bitU_to_bool (~postindex) - then address - else - add_VVV - (reset_vector_start (set_vector_start_to_length address)) - (reset_vector_start (set_vector_start_to_length offset)) in - if bitU_to_bool (eq_range (n, (31:ii))) - then wSP ((),reset_vector_start (set_vector_start_to_length address')) - else wX (n,reset_vector_start (set_vector_start_to_length address')) - else return ()) >> - match memop with - | MemOp_STORE -> - (if bitU_to_bool rt_unknown - then - let data = set_vector_start_to_length (to_vec_dec (length data,UNKNOWN)) in - return data - else - rX (length data,t) >>= fun w__2 -> - return (set_vector_start_to_length w__2)) >>= fun data -> - wMem - (empty_write_buffer, - reset_vector_start address, - quot datasize (8:ii), - acctype, - reset_vector_start (set_vector_start_to_length data)) >>= fun w__3 -> - flush_write_buffer w__3 >> - return data - | MemOp_LOAD -> - rMem (empty_read_buffer,reset_vector_start address,quot datasize (8:ii),acctype) >>= fun w__4 -> - flush_read_buffer (w__4,quot datasize (8:ii)) >>= fun w__5 -> - let data = set_vector_start_to_length w__5 in - (if bitU_to_bool _signed - then - wX - (t, - reset_vector_start (set_vector_start_to_length - (set_vector_start_to_length - (SignExtend (regsize,reset_vector_start (set_vector_start_to_length data)))))) - else - wX - (t, - reset_vector_start (set_vector_start_to_length - (set_vector_start_to_length - (ZeroExtend (regsize,reset_vector_start (set_vector_start_to_length data))))))) >> - return data - | MemOp_PREFETCH -> return data - end >>= fun data -> - return () - -let execute_LoadStorePair (wback, postindex, n, t, t2, acctype, memop, _signed, datasize, offset) = - let address = to_vec_dec ((64:ii),(0:ii)) in - let data1 = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - let data2 = set_vector_start_to_length (to_vec_dec (length data1,(0:ii))) in - let dbytes = quot datasize (8:ii) in - let rt_unknown = B0 in - let wb_unknown = B0 in - (if bitU_to_bool - ((eq (memop, MemOp_LOAD)) &. - (wback &. (((eq_range (t, n)) |. (eq_range (t2, n))) &. (neq_range (n, (31:ii)))))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool - ((eq (memop, MemOp_STORE)) &. - (wback &. (((eq_range (t, n)) |. (eq_range (t2, n))) &. (neq_range (n, (31:ii)))))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool ((eq (memop, MemOp_LOAD)) &. (eq_range (t, t2))) - then UnallocatedEncoding () - else return ()) >> - (if bitU_to_bool (eq_range (n, (31:ii))) - then - CheckSPAlignment () >> - rSP (64:ii) - else rX ((64:ii),n)) >>= fun address -> - let address = - if bitU_to_bool (~postindex) - then - set_vector_start 63 - (add_VVV - (reset_vector_start (set_vector_start_to_length address)) - (reset_vector_start (set_vector_start_to_length offset))) - else address in - (if bitU_to_bool (eq (memop, MemOp_STORE)) - then wMem_Addr (reset_vector_start address,dbytes * (2:ii),acctype,B0) - else return ()) >> - (if bitU_to_bool wback - then - let address' = - if bitU_to_bool (~postindex) - then address - else - add_VVV - (reset_vector_start (set_vector_start_to_length address)) - (reset_vector_start (set_vector_start_to_length offset)) in - if bitU_to_bool (eq_range (n, (31:ii))) - then wSP ((),reset_vector_start (set_vector_start_to_length address')) - else wX (n,reset_vector_start (set_vector_start_to_length address')) - else return ()) >> - match memop with - | MemOp_STORE -> - (if bitU_to_bool (rt_unknown &. (eq_range (t, n))) - then - let data1 = set_vector_start_to_length (to_vec_dec (length data1,UNKNOWN)) in - return data1 - else - rX (length data1,t) >>= fun w__2 -> - return (set_vector_start_to_length w__2)) >>= fun data1 -> - (if bitU_to_bool (rt_unknown &. (eq_range (t2, n))) - then - let data2 = set_vector_start_to_length (to_vec_dec (length data1,UNKNOWN)) in - return data2 - else - rX (length data1,t2) >>= fun w__3 -> - return (set_vector_start_to_length w__3)) >>= fun data2 -> - wMem - (empty_write_buffer, - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) (0:ii))), - dbytes, - acctype, - reset_vector_start (set_vector_start_to_length data1)) >>= fun write_buffer -> - wMem - (write_buffer, - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) dbytes)), - dbytes, - acctype, - reset_vector_start (set_vector_start_to_length data2)) >>= fun w__4 -> - let write_buffer = w__4 in - flush_write_buffer write_buffer >> - return (data1,data2) - | MemOp_LOAD -> - rMem - (empty_read_buffer, - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) (0:ii))), - dbytes, - acctype) >>= fun read_buffer -> - rMem - (read_buffer, - reset_vector_start (set_vector_start 63 - (add_VIV (reset_vector_start (set_vector_start_to_length address)) dbytes)), - dbytes, - acctype) >>= fun w__5 -> - let read_buffer = w__5 in - flush_read_buffer (read_buffer,dbytes * (2:ii)) >>= fun w__6 -> - let read_data = set_vector_start_to_length w__6 in - let data1 = - set_vector_start_to_length - (slice (set_vector_start_to_length read_data) (datasize - (1:ii)) (0:ii)) in - let data2 = - set_vector_start_to_length - (slice (set_vector_start_to_length read_data) ((datasize * (2:ii)) - (1:ii)) datasize) in - let (data1, data2) = - if bitU_to_bool rt_unknown - then - let data1 = set_vector_start_to_length (to_vec_dec (length data1,UNKNOWN)) in - let data2 = set_vector_start_to_length (to_vec_dec (length data1,UNKNOWN)) in - (data1,data2) - else (data1,data2) in - (if bitU_to_bool _signed - then - wX - (t, - reset_vector_start (set_vector_start_to_length - (SignExtend ((64:ii),reset_vector_start (set_vector_start_to_length data1))))) >> - wX - (t2, - reset_vector_start (set_vector_start_to_length - (SignExtend ((64:ii),reset_vector_start (set_vector_start_to_length data2))))) - else - wX (t,reset_vector_start (set_vector_start_to_length data1)) >> - wX (t2,reset_vector_start (set_vector_start_to_length data2))) >> - return (data1,data2) - end >>= fun (data1, data2) -> - return () - -let execute_AddSubImmediate (d, n, datasize, sub_op, setflags, imm) = - (if bitU_to_bool (eq_range (n, (31:ii))) - then - rSP datasize >>= fun w__0 -> - return (set_vector_start_to_length w__0) - else - rX (datasize,n) >>= fun w__1 -> - return (set_vector_start_to_length w__1)) >>= fun operand1 -> - let operand2 = set_vector_start_to_length imm in - let carry_in = B0 in - let (operand2, carry_in) = - if bitU_to_bool sub_op - then - let operand2 = - set_vector_start_to_length (NOT (reset_vector_start (set_vector_start_to_length operand2))) in - let carry_in = B1 in - (operand2,carry_in) - else - let carry_in = B0 in - (operand2,carry_in) in - let (result, nzcv) = - match (AddWithCarry - (reset_vector_start (set_vector_start_to_length operand1), - reset_vector_start (set_vector_start_to_length operand2), - carry_in)) with - | (v0v', v1v') -> (v0v',v1v') - end in - (if bitU_to_bool setflags - then wPSTATE_NZCV ((),reset_vector_start nzcv) - else return ()) >> - if bitU_to_bool ((eq_range (d, (31:ii))) &. (~setflags)) - then wSP ((),reset_vector_start (set_vector_start_to_length result)) - else wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute_BitfieldMove (d, n, datasize, inzero, extend, R, S, wmask, tmask) = - (if bitU_to_bool inzero - then return (set_vector_start_to_length (Zeros datasize)) - else - rX (datasize,d) >>= fun w__0 -> - return (set_vector_start_to_length w__0)) >>= fun dst -> - rX (datasize,n) >>= fun w__1 -> - let src = set_vector_start_to_length w__1 in - let bot = - set_vector_start_to_length - (bitwise_or - (set_vector_start_to_length - (bitwise_and - (set_vector_start_to_length dst, - set_vector_start_to_length - (NOT (reset_vector_start (set_vector_start_to_length wmask))))), - set_vector_start_to_length - (bitwise_and - (set_vector_start_to_length - (ROR (reset_vector_start (set_vector_start_to_length src),R)), - set_vector_start_to_length wmask)))) in - let top = - if bitU_to_bool extend - then - set_vector_start_to_length - (Replicate - (length bot, - reset_vector_start (set_vector_start_to_length - (Vector [access (set_vector_start_to_length src) S] 0 false)))) - else set_vector_start_to_length dst in - wX - (d, - reset_vector_start (set_vector_start_to_length - (bitwise_or - (set_vector_start_to_length - (bitwise_and - (set_vector_start_to_length top, - set_vector_start_to_length - (NOT (reset_vector_start (set_vector_start_to_length tmask))))), - set_vector_start_to_length - (bitwise_and (set_vector_start_to_length bot, set_vector_start_to_length tmask)))))) - -let execute_ExtractRegister (d, n, m, datasize, lsb) = - let result = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - rX (datasize,m) >>= fun w__1 -> - let operand2 = set_vector_start_to_length w__1 in - let concat = - set_vector_start_to_length - ((set_vector_start_to_length operand1) ^^ (set_vector_start_to_length operand2)) in - let result = - set_vector_start_to_length - (slice (set_vector_start_to_length concat) ((lsb + datasize) - (1:ii)) lsb) in - wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute_LogicalImmediate (d, n, datasize, setflags, op, imm) = - let result = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - let operand2 = set_vector_start_to_length imm in - let result = - match op with - | LogicalOp_AND -> - set_vector_start_to_length - (bitwise_and (set_vector_start_to_length operand1, set_vector_start_to_length operand2)) - | LogicalOp_ORR -> - set_vector_start_to_length - (bitwise_or (set_vector_start_to_length operand1, set_vector_start_to_length operand2)) - | LogicalOp_EOR -> - set_vector_start_to_length - (bitwise_xor (set_vector_start_to_length operand1, set_vector_start_to_length operand2)) - end in - (if bitU_to_bool setflags - then - wPSTATE_NZCV - ((), - reset_vector_start (set_vector_start 3 - ((set_vector_start_to_length - (Vector [access (set_vector_start_to_length result) ((length - (reset_vector_start (set_vector_start_to_length - result))) - (1:ii))] 0 false)) ^^ - (set_vector_start_to_length - ((set_vector_start_to_length - (Vector [IsZeroBit (reset_vector_start (set_vector_start_to_length result))] 0 false)) ^^ - (set_vector_start_to_length (Vector [B0;B0] 1 false))))))) - else return ()) >> - if bitU_to_bool ((eq_range (d, (31:ii))) &. (~setflags)) - then wSP ((),reset_vector_start (set_vector_start_to_length result)) - else wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute_MoveWide (d, datasize, imm, pos, opcode) = - let result = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - (if bitU_to_bool (eq (opcode, MoveWideOp_K)) - then - rX (datasize,d) >>= fun w__0 -> - return (set_vector_start_to_length w__0) - else - let result = set_vector_start_to_length (Zeros datasize) in - return result) >>= fun result -> - let result = update result (pos + (15:ii)) pos (set_vector_start_to_length imm) in - let result = - if bitU_to_bool (eq (opcode, MoveWideOp_N)) - then set_vector_start_to_length (NOT (reset_vector_start (set_vector_start_to_length result))) - else result in - wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute_Address (d, page, imm) = - rPC () >>= fun base -> - let base = if bitU_to_bool page then update base (11:ii) (0:ii) (Zeros (12:ii)) else base in - wX - (d, - reset_vector_start (set_vector_start_to_length - (add_VVV - (reset_vector_start (set_vector_start_to_length base)) - (reset_vector_start (set_vector_start_to_length imm))))) - -let execute_AddSubExtendRegister (d, n, m, datasize, sub_op, setflags, extend_type, shift) = - (if bitU_to_bool (eq_range (n, (31:ii))) - then - rSP datasize >>= fun w__0 -> - return (set_vector_start_to_length w__0) - else - rX (datasize,n) >>= fun w__1 -> - return (set_vector_start_to_length w__1)) >>= fun operand1 -> - ExtendReg (datasize,m,extend_type,shift) >>= fun w__2 -> - let operand2 = set_vector_start_to_length w__2 in - let carry_in = B0 in - let (operand2, carry_in) = - if bitU_to_bool sub_op - then - let operand2 = - set_vector_start_to_length (NOT (reset_vector_start (set_vector_start_to_length operand2))) in - let carry_in = B1 in - (operand2,carry_in) - else - let carry_in = B0 in - (operand2,carry_in) in - let (result, nzcv) = - match (AddWithCarry - (reset_vector_start (set_vector_start_to_length operand1), - reset_vector_start (set_vector_start_to_length operand2), - carry_in)) with - | (v2v', v3v') -> (v2v',v3v') - end in - (if bitU_to_bool setflags - then wPSTATE_NZCV ((),reset_vector_start nzcv) - else return ()) >> - if bitU_to_bool ((eq_range (d, (31:ii))) &. (~setflags)) - then wSP ((),reset_vector_start (set_vector_start_to_length result)) - else wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute_AddSubShiftedRegister (d, n, m, datasize, sub_op, setflags, shift_type, shift_amount) = - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - ShiftReg (datasize,m,shift_type,shift_amount) >>= fun w__1 -> - let operand2 = set_vector_start_to_length w__1 in - let carry_in = B0 in - let (operand2, carry_in) = - if bitU_to_bool sub_op - then - let operand2 = - set_vector_start_to_length (NOT (reset_vector_start (set_vector_start_to_length operand2))) in - let carry_in = B1 in - (operand2,carry_in) - else - let carry_in = B0 in - (operand2,carry_in) in - let (result, nzcv) = - match (AddWithCarry - (reset_vector_start (set_vector_start_to_length operand1), - reset_vector_start (set_vector_start_to_length operand2), - carry_in)) with - | (v4v', v5v') -> (v4v',v5v') - end in - (if bitU_to_bool setflags - then wPSTATE_NZCV ((),reset_vector_start nzcv) - else return ()) >> - wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute_AddSubCarry (d, n, m, datasize, sub_op, setflags) = - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - rX (datasize,m) >>= fun w__1 -> - let operand2 = set_vector_start_to_length w__1 in - let operand2 = - if bitU_to_bool sub_op - then set_vector_start_to_length (NOT (reset_vector_start (set_vector_start_to_length operand2))) - else operand2 in - read_reg_bitfield NZCV "C" >>= fun w__2 -> - let (result, nzcv) = - match (AddWithCarry - (reset_vector_start (set_vector_start_to_length operand1), - reset_vector_start (set_vector_start_to_length operand2), - w__2)) with - | (v6v', v7v') -> (v6v',v7v') - end in - (if bitU_to_bool setflags - then wPSTATE_NZCV ((),reset_vector_start nzcv) - else return ()) >> - wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute_ConditionalCompareImmediate (n, datasize, sub_op, condition, flags, imm) = - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - let operand2 = set_vector_start_to_length imm in - let carry_in = B0 in - let flags' = flags in - ConditionHolds (reset_vector_start condition) >>= fun w__1 -> - let (operand2, carry_in, flags') = - if bitU_to_bool w__1 - then - let (operand2, carry_in) = - if bitU_to_bool sub_op - then - let operand2 = - set_vector_start_to_length - (NOT (reset_vector_start (set_vector_start_to_length operand2))) in - let carry_in = B1 in - (operand2,carry_in) - else (operand2,carry_in) in - let (_, nzcv) = - match (AddWithCarry - (reset_vector_start (set_vector_start_to_length operand1), - reset_vector_start (set_vector_start_to_length operand2), - carry_in)) with - | (v8v', v9v') -> (v8v',v9v') - end in - let flags' = nzcv in - (operand2,carry_in,flags') - else (operand2,carry_in,flags') in - wPSTATE_NZCV ((),reset_vector_start flags') - -let execute_ConditionalCompareRegister (n, m, datasize, sub_op, condition, flags) = - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - rX (datasize,m) >>= fun w__1 -> - let operand2 = set_vector_start_to_length w__1 in - let carry_in = B0 in - let flags' = flags in - ConditionHolds (reset_vector_start condition) >>= fun w__2 -> - let (operand2, carry_in, flags') = - if bitU_to_bool w__2 - then - let (operand2, carry_in) = - if bitU_to_bool sub_op - then - let operand2 = - set_vector_start_to_length - (NOT (reset_vector_start (set_vector_start_to_length operand2))) in - let carry_in = B1 in - (operand2,carry_in) - else (operand2,carry_in) in - let (_, nzcv) = - match (AddWithCarry - (reset_vector_start (set_vector_start_to_length operand1), - reset_vector_start (set_vector_start_to_length operand2), - carry_in)) with - | (v10v', v11v') -> (v10v',v11v') - end in - let flags' = nzcv in - (operand2,carry_in,flags') - else (operand2,carry_in,flags') in - wPSTATE_NZCV ((),reset_vector_start flags') - -let execute_ConditionalSelect (d, n, m, datasize, condition, else_inv, else_inc) = - let result = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - rX (datasize,m) >>= fun w__1 -> - let operand2 = set_vector_start_to_length w__1 in - ConditionHolds (reset_vector_start condition) >>= fun w__2 -> - let result = - if bitU_to_bool w__2 - then set_vector_start_to_length operand1 - else - let result = set_vector_start_to_length operand2 in - let result = - if bitU_to_bool else_inv - then - set_vector_start_to_length (NOT (reset_vector_start (set_vector_start_to_length result))) - else result in - if bitU_to_bool else_inc - then - set_vector_start_to_length - (add_VIV (reset_vector_start (set_vector_start_to_length result)) (1:ii)) - else result in - wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute_Reverse (d, n, datasize, op) = - let result = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - let V = to_vec_dec ((6:ii),(0:ii)) in - let V = - match op with - | RevOp_REV16 -> Vector [B0;B0;B1;B0;B0;B0] 5 false - | RevOp_REV32 -> Vector [B0;B1;B1;B0;B0;B0] 5 false - | RevOp_REV64 -> Vector [B1;B1;B1;B0;B0;B0] 5 false - | RevOp_RBIT -> - if bitU_to_bool (eq_range (datasize, (64:ii))) - then Vector [B1;B1;B1;B1;B1;B1] 5 false - else Vector [B0;B1;B1;B1;B1;B1] 5 false - end in - rX (datasize,n) >>= fun w__0 -> - let result = set_vector_start_to_length w__0 in - let result = - (foreach_inc ((0:ii),(5:ii),(1:ii)) result - (fun vbit result -> - if bitU_to_bool (eq (match (access V vbit) with | B0 -> (0:ii) | B1 -> (1:ii) end, (1:ii))) - then - let tmp = set_vector_start_to_length result in - let vsize = lsl' ((1:ii),vbit) in - (foreach_inc ((0:ii),datasize - (1:ii),(2:ii) * vsize) result - (fun base result -> - let result = - update - result ((base + vsize) - (1:ii)) base - (set_vector_start_to_length - (slice (set_vector_start_to_length tmp) - ((base + ((2:ii) * vsize)) - (1:ii)) (base + vsize))) in - update - result ((base + ((2:ii) * vsize)) - (1:ii)) (base + vsize) - (set_vector_start_to_length - (slice (set_vector_start_to_length tmp) ((base + vsize) - (1:ii)) base)))) - else result)) in - wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute_CountLeading (d, n, datasize, opcode) = - let result = (0:ii) in - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - let result = - if bitU_to_bool (eq (opcode, CountOp_CLZ)) - then CountLeadingZeroBits (reset_vector_start (set_vector_start_to_length operand1)) - else CountLeadingSignBits (reset_vector_start (set_vector_start_to_length operand1)) in - wX (d,reset_vector_start (set_vector_start_to_length (to_vec_dec (datasize,result)))) - -let execute_Division (d, n, m, datasize, _unsigned) = - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - rX (datasize,m) >>= fun w__1 -> - let operand2 = set_vector_start_to_length w__1 in - let result = (0:ii) in - let result = - if bitU_to_bool (IsZero (reset_vector_start (set_vector_start_to_length operand2))) - then (0:ii) - else - quot - (Int (reset_vector_start (set_vector_start_to_length operand1),_unsigned)) - (Int (reset_vector_start (set_vector_start_to_length operand2),_unsigned)) in - wX (d,reset_vector_start (set_vector_start_to_length (to_vec_dec (datasize,result)))) - -let execute_Shift (d, n, m, datasize, shift_type) = - let result = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - rX (datasize,m) >>= fun w__0 -> - let operand2 = set_vector_start_to_length w__0 in - ShiftReg - (datasize, - n, - shift_type, - modulo (UInt (reset_vector_start (set_vector_start_to_length operand2))) datasize) >>= fun w__1 -> - let result = set_vector_start_to_length w__1 in - wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute_CRC (d, n, m, size, crc32c) = - (if bitU_to_bool (~(HaveCRCExt ())) - then UnallocatedEncoding () - else return ()) >> - rX ((32:ii),n) >>= fun acc -> - rX (size,m) >>= fun w__0 -> - let _val = set_vector_start_to_length w__0 in - let poly = - if bitU_to_bool crc32c - then - Vector [B0;B0;B0;B1;B1;B1;B1;B0;B1;B1;B0;B1;B1;B1;B0;B0;B0;B1;B1;B0;B1; - B1;B1;B1;B0;B1;B0;B0;B0;B0;B0;B1] 31 false - else - Vector [B0;B0;B0;B0;B0;B1;B0;B0;B1;B1;B0;B0;B0;B0;B0;B1;B0;B0;B0;B1;B1; - B1;B0;B1;B1;B0;B1;B1;B0;B1;B1;B1] 31 false in - let tempacc = - set_vector_start_to_length - ((set_vector_start_to_length - (BitReverse (reset_vector_start (set_vector_start_to_length acc)))) ^^ - (set_vector_start_to_length (set_vector_start_to_length (Zeros (length _val))))) in - let tempval = - set_vector_start_to_length - ((set_vector_start_to_length - (BitReverse (reset_vector_start (set_vector_start_to_length _val)))) ^^ - (Zeros (32:ii))) in - wX - (d, - reset_vector_start (set_vector_start_to_length - (BitReverse - (reset_vector_start (set_vector_start_to_length - (Poly32Mod2 - (reset_vector_start (set_vector_start_to_length - (bitwise_xor - (set_vector_start_to_length tempacc, - set_vector_start_to_length tempval))), - reset_vector_start poly))))))) - -let execute_MultiplyAddSub (d, n, m, a, destsize, datasize, sub_op) = - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - rX (datasize,m) >>= fun w__1 -> - let operand2 = set_vector_start_to_length w__1 in - rX (destsize,a) >>= fun w__2 -> - let operand3 = set_vector_start_to_length w__2 in - let result = (0:ii) in - let result = - if bitU_to_bool sub_op - then - (UInt (reset_vector_start (set_vector_start_to_length operand3))) - - ((UInt (reset_vector_start (set_vector_start_to_length operand1))) * - (UInt (reset_vector_start (set_vector_start_to_length operand2)))) - else - (UInt (reset_vector_start (set_vector_start_to_length operand3))) + - ((UInt (reset_vector_start (set_vector_start_to_length operand1))) * - (UInt (reset_vector_start (set_vector_start_to_length operand2)))) in - wX (d,reset_vector_start (set_vector_start_to_length (to_vec_dec (destsize,result)))) - -let execute_MultiplyAddSubLong (d, n, m, a, destsize, datasize, sub_op, _unsigned) = - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - rX (datasize,m) >>= fun w__1 -> - let operand2 = set_vector_start_to_length w__1 in - rX (destsize,a) >>= fun w__2 -> - let operand3 = set_vector_start_to_length w__2 in - let result = (0:ii) in - let result = - if bitU_to_bool sub_op - then - (Int (reset_vector_start (set_vector_start_to_length operand3),_unsigned)) - - ((Int (reset_vector_start (set_vector_start_to_length operand1),_unsigned)) * - (Int (reset_vector_start (set_vector_start_to_length operand2),_unsigned))) - else - (Int (reset_vector_start (set_vector_start_to_length operand3),_unsigned)) + - ((Int (reset_vector_start (set_vector_start_to_length operand1),_unsigned)) * - (Int (reset_vector_start (set_vector_start_to_length operand2),_unsigned))) in - wX (d,reset_vector_start (set_vector_start_to_length (to_vec_dec ((64:ii),result)))) - -let execute_MultiplyHigh (d, n, m, a, destsize, datasize, _unsigned) = - rX (destsize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - rX (destsize,m) >>= fun w__1 -> - let operand2 = set_vector_start_to_length w__1 in - let result = (0:ii) in - let result = - (Int (reset_vector_start (set_vector_start_to_length operand1),_unsigned)) * - (Int (reset_vector_start (set_vector_start_to_length operand2),_unsigned)) in - wX - (d, - reset_vector_start (set_vector_start_to_length - (slice (to_vec_dec ((128:ii),result)) (127:ii) (64:ii)))) - -let execute_LogicalShiftedRegister (d, n, m, datasize, setflags, op, shift_type, shift_amount, invert) = - rX (datasize,n) >>= fun w__0 -> - let operand1 = set_vector_start_to_length w__0 in - ShiftReg (datasize,m,shift_type,shift_amount) >>= fun w__1 -> - let operand2 = set_vector_start_to_length w__1 in - let operand2 = - if bitU_to_bool invert - then set_vector_start_to_length (NOT (reset_vector_start (set_vector_start_to_length operand2))) - else operand2 in - let result = set_vector_start_to_length (to_vec_dec (datasize,(0:ii))) in - let result = - match op with - | LogicalOp_AND -> - set_vector_start_to_length - (bitwise_and (set_vector_start_to_length operand1, set_vector_start_to_length operand2)) - | LogicalOp_ORR -> - set_vector_start_to_length - (bitwise_or (set_vector_start_to_length operand1, set_vector_start_to_length operand2)) - | LogicalOp_EOR -> - set_vector_start_to_length - (bitwise_xor (set_vector_start_to_length operand1, set_vector_start_to_length operand2)) - end in - (if bitU_to_bool setflags - then - wPSTATE_NZCV - ((), - reset_vector_start (set_vector_start 3 - ((set_vector_start_to_length - (Vector [access (set_vector_start_to_length result) (datasize - (1:ii))] 0 false)) ^^ - (set_vector_start_to_length - ((set_vector_start_to_length - (Vector [IsZeroBit (reset_vector_start (set_vector_start_to_length result))] 0 false)) ^^ - (set_vector_start_to_length (Vector [B0;B0] 1 false))))))) - else return ()) >> - wX (d,reset_vector_start (set_vector_start_to_length result)) - -let execute = function - - | TMStart (t) -> execute_TMStart (t) - | TMCommit -> execute_TMCommit () - | TMTest -> execute_TMTest () - | TMAbort (retry,reason) -> execute_TMAbort (retry,reason) - | CompareAndBranch (t,datasize,iszero,offset) -> execute_CompareAndBranch (t,datasize,iszero,offset) - | BranchConditional (offset,condition) -> execute_BranchConditional (offset,condition) - | GenerateExceptionEL1 (imm) -> execute_GenerateExceptionEL1 (imm) - | GenerateExceptionEL2 (imm) -> execute_GenerateExceptionEL2 (imm) - | GenerateExceptionEL3 (imm) -> execute_GenerateExceptionEL3 (imm) - | DebugBreakpoint (comment) -> execute_DebugBreakpoint (comment) - | ExternalDebugBreakpoint -> execute_ExternalDebugBreakpoint () - | DebugSwitchToExceptionLevel (target_level) -> execute_DebugSwitchToExceptionLevel (target_level) - | MoveSystemImmediate (operand,field') -> execute_MoveSystemImmediate (operand,field') - | Hint (op) -> execute_Hint (op) - | ClearExclusiveMonitor (imm) -> execute_ClearExclusiveMonitor (imm) - | Barrier (op,domain,types) -> execute_Barrier (op,domain,types) - | System (t,sys_op0,sys_op1,sys_op2,sys_crn,sys_crm,has_result) -> execute_System (t,sys_op0,sys_op1,sys_op2,sys_crn,sys_crm,has_result) - | MoveSystemRegister (t,sys_op0,sys_op1,sys_op2,sys_crn,sys_crm,read) -> execute_MoveSystemRegister (t,sys_op0,sys_op1,sys_op2,sys_crn,sys_crm,read) - | ImplementationDefinedTestBeginEnd (isEnd) -> execute_ImplementationDefinedTestBeginEnd (isEnd) - | ImplementationDefinedStopFetching -> execute_ImplementationDefinedStopFetching () - | ImplementationDefinedThreadStart -> execute_ImplementationDefinedThreadStart () - | TestBitAndBranch (t,datasize,bit_pos,bit_val,offset) -> execute_TestBitAndBranch (t,datasize,bit_pos,bit_val,offset) - | BranchImmediate (branch_type,offset) -> execute_BranchImmediate (branch_type,offset) - | BranchRegister (n,branch_type) -> execute_BranchRegister (n,branch_type) - | ExceptionReturn -> execute_ExceptionReturn () - | DebugRestorePState -> execute_DebugRestorePState () - | LoadLiteral (t,memop,_signed,size,offset,datasize) -> execute_LoadLiteral (t,memop,_signed,size,offset,datasize) - | LoadStoreAcqExc (n,t,t2,s,acctype,excl,pair,memop,elsize,regsize,datasize) -> execute_LoadStoreAcqExc (n,t,t2,s,acctype,excl,pair,memop,elsize,regsize,datasize) - | LoadStorePairNonTemp (wback,postindex,n,t,t2,acctype,memop,scale,datasize,offset) -> execute_LoadStorePairNonTemp (wback,postindex,n,t,t2,acctype,memop,scale,datasize,offset) - | LoadImmediate (n,t,acctype,memop,_signed,wback,postindex,offset,regsize,datasize) -> execute_LoadImmediate (n,t,acctype,memop,_signed,wback,postindex,offset,regsize,datasize) - | LoadRegister (n,t,m,acctype,memop,_signed,wback,postindex,extend_type,shift,regsize,datasize) -> execute_LoadRegister (n,t,m,acctype,memop,_signed,wback,postindex,extend_type,shift,regsize,datasize) - | LoadStorePair (wback,postindex,n,t,t2,acctype,memop,_signed,datasize,offset) -> execute_LoadStorePair (wback,postindex,n,t,t2,acctype,memop,_signed,datasize,offset) - | AddSubImmediate (d,n,datasize,sub_op,setflags,imm) -> execute_AddSubImmediate (d,n,datasize,sub_op,setflags,imm) - | BitfieldMove (d,n,datasize,inzero,extend,R,S,wmask,tmask) -> execute_BitfieldMove (d,n,datasize,inzero,extend,R,S,wmask,tmask) - | ExtractRegister (d,n,m,datasize,lsb) -> execute_ExtractRegister (d,n,m,datasize,lsb) - | LogicalImmediate (d,n,datasize,setflags,op,imm) -> execute_LogicalImmediate (d,n,datasize,setflags,op,imm) - | MoveWide (d,datasize,imm,pos,opcode) -> execute_MoveWide (d,datasize,imm,pos,opcode) - | Address (d,page,imm) -> execute_Address (d,page,imm) - | AddSubExtendRegister (d,n,m,datasize,sub_op,setflags,extend_type,shift) -> execute_AddSubExtendRegister (d,n,m,datasize,sub_op,setflags,extend_type,shift) - | AddSubShiftedRegister (d,n,m,datasize,sub_op,setflags,shift_type,shift_amount) -> execute_AddSubShiftedRegister (d,n,m,datasize,sub_op,setflags,shift_type,shift_amount) - | AddSubCarry (d,n,m,datasize,sub_op,setflags) -> execute_AddSubCarry (d,n,m,datasize,sub_op,setflags) - | ConditionalCompareImmediate (n,datasize,sub_op,condition,flags,imm) -> execute_ConditionalCompareImmediate (n,datasize,sub_op,condition,flags,imm) - | ConditionalCompareRegister (n,m,datasize,sub_op,condition,flags) -> execute_ConditionalCompareRegister (n,m,datasize,sub_op,condition,flags) - | ConditionalSelect (d,n,m,datasize,condition,else_inv,else_inc) -> execute_ConditionalSelect (d,n,m,datasize,condition,else_inv,else_inc) - | Reverse (d,n,datasize,op) -> execute_Reverse (d,n,datasize,op) - | CountLeading (d,n,datasize,opcode) -> execute_CountLeading (d,n,datasize,opcode) - | Division (d,n,m,datasize,_unsigned) -> execute_Division (d,n,m,datasize,_unsigned) - | Shift (d,n,m,datasize,shift_type) -> execute_Shift (d,n,m,datasize,shift_type) - | CRC (d,n,m,size,crc32c) -> execute_CRC (d,n,m,size,crc32c) - | MultiplyAddSub (d,n,m,a,destsize,datasize,sub_op) -> execute_MultiplyAddSub (d,n,m,a,destsize,datasize,sub_op) - | MultiplyAddSubLong (d,n,m,a,destsize,datasize,sub_op,_unsigned) -> execute_MultiplyAddSubLong (d,n,m,a,destsize,datasize,sub_op,_unsigned) - | MultiplyHigh (d,n,m,a,destsize,datasize,_unsigned) -> execute_MultiplyHigh (d,n,m,a,destsize,datasize,_unsigned) - | LogicalShiftedRegister (d,n,m,datasize,setflags,op,shift_type,shift_amount,invert) -> execute_LogicalShiftedRegister (d,n,m,datasize,setflags,op,shift_type,shift_amount,invert) - end - diff --git a/aarch64_small/armV8_embed_types.lem b/aarch64_small/armV8_embed_types.lem deleted file mode 100644 index b3728e62..00000000 --- a/aarch64_small/armV8_embed_types.lem +++ /dev/null @@ -1,659 +0,0 @@ -(*Generated by Sail from armV8.sail.*) -open import Pervasives_extra -open import Sail_impl_base -open import Sail_values -type boolean = bitU - -type integer' = ii - -type uinteger = ii - -type reg_size = vector bitU - -type reg_index = integer - -type SIMD_index = integer - -let _PC = Register "_PC" 64 63 false [] - -let TxNestingLevel = Register "TxNestingLevel" 8 7 false [] - -let build_TMSTATUS_type regname = - Register regname 64 63 false - [("IMP", (16 , 16)); - ("DBG", (15 , 15)); - ("MEM", (14 , 14)); - ("ERR", (13 , 13)); - ("INV", (12 , 12)); - ("SIZE", (11 , 11)); - ("NEST", (10 , 10)); - ("ABRT", (9 , 9)); - ("RTRY", (8 , 8)); - ("REASON", (4 , 0))] - -let R30 = Register "R30" 64 63 false [] - -let R29 = Register "R29" 64 63 false [] - -let R28 = Register "R28" 64 63 false [] - -let R27 = Register "R27" 64 63 false [] - -let R26 = Register "R26" 64 63 false [] - -let R25 = Register "R25" 64 63 false [] - -let R24 = Register "R24" 64 63 false [] - -let R23 = Register "R23" 64 63 false [] - -let R22 = Register "R22" 64 63 false [] - -let R21 = Register "R21" 64 63 false [] - -let R20 = Register "R20" 64 63 false [] - -let R19 = Register "R19" 64 63 false [] - -let R18 = Register "R18" 64 63 false [] - -let R17 = Register "R17" 64 63 false [] - -let R16 = Register "R16" 64 63 false [] - -let R15 = Register "R15" 64 63 false [] - -let R14 = Register "R14" 64 63 false [] - -let R13 = Register "R13" 64 63 false [] - -let R12 = Register "R12" 64 63 false [] - -let R11 = Register "R11" 64 63 false [] - -let R10 = Register "R10" 64 63 false [] - -let R9 = Register "R9" 64 63 false [] - -let R8 = Register "R8" 64 63 false [] - -let R7 = Register "R7" 64 63 false [] - -let R6 = Register "R6" 64 63 false [] - -let R5 = Register "R5" 64 63 false [] - -let R4 = Register "R4" 64 63 false [] - -let R3 = Register "R3" 64 63 false [] - -let R2 = Register "R2" 64 63 false [] - -let R1 = Register "R1" 64 63 false [] - -let R0 = Register "R0" 64 63 false [] - -let V31 = Register "V31" 128 127 false [] - -let V30 = Register "V30" 128 127 false [] - -let V29 = Register "V29" 128 127 false [] - -let V28 = Register "V28" 128 127 false [] - -let V27 = Register "V27" 128 127 false [] - -let V26 = Register "V26" 128 127 false [] - -let V25 = Register "V25" 128 127 false [] - -let V24 = Register "V24" 128 127 false [] - -let V23 = Register "V23" 128 127 false [] - -let V22 = Register "V22" 128 127 false [] - -let V21 = Register "V21" 128 127 false [] - -let V20 = Register "V20" 128 127 false [] - -let V19 = Register "V19" 128 127 false [] - -let V18 = Register "V18" 128 127 false [] - -let V17 = Register "V17" 128 127 false [] - -let V16 = Register "V16" 128 127 false [] - -let V15 = Register "V15" 128 127 false [] - -let V14 = Register "V14" 128 127 false [] - -let V13 = Register "V13" 128 127 false [] - -let V12 = Register "V12" 128 127 false [] - -let V11 = Register "V11" 128 127 false [] - -let V10 = Register "V10" 128 127 false [] - -let V9 = Register "V9" 128 127 false [] - -let V8 = Register "V8" 128 127 false [] - -let V7 = Register "V7" 128 127 false [] - -let V6 = Register "V6" 128 127 false [] - -let V5 = Register "V5" 128 127 false [] - -let V4 = Register "V4" 128 127 false [] - -let V3 = Register "V3" 128 127 false [] - -let V2 = Register "V2" 128 127 false [] - -let V1 = Register "V1" 128 127 false [] - -let V0 = Register "V0" 128 127 false [] - -type IMPLEMENTATION_DEFINED_type = - <| IMPLEMENTATION_DEFINED_type_HaveCRCExt : bitU; - IMPLEMENTATION_DEFINED_type_HaveAArch32EL : bitU; - IMPLEMENTATION_DEFINED_type_HaveAnyAArch32 : bitU; - IMPLEMENTATION_DEFINED_type_HaveEL2 : bitU; - IMPLEMENTATION_DEFINED_type_HaveEL3 : bitU; - IMPLEMENTATION_DEFINED_type_HighestELUsingAArch32 : bitU; - IMPLEMENTATION_DEFINED_type_IsSecureBelowEL3 : bitU; |> - -let build_HCR_type regname = - Register regname 64 63 false - [("ID", (33 , 33)); - ("CD", (32 , 32)); - ("RW", (31 , 31)); - ("TRVM", (30 , 30)); - ("HCD", (29 , 29)); - ("TDZ", (28 , 28)); - ("TGE", (27 , 27)); - ("TVM", (26 , 26)); - ("TTLB", (25 , 25)); - ("TPU", (24 , 24)); - ("TPC", (23 , 23)); - ("TSW", (22 , 22)); - ("TACR", (21 , 21)); - ("TIDCP", (20 , 20)); - ("TSC", (19 , 19)); - ("TID3", (18 , 18)); - ("TID2", (17 , 17)); - ("TID1", (16 , 16)); - ("TID0", (15 , 15)); - ("TWE", (14 , 14)); - ("TWI", (13 , 13)); - ("DC", (12 , 12)); - ("BSU", (11 , 10)); - ("FB", (9 , 9)); - ("VSE", (8 , 8)); - ("VI", (7 , 7)); - ("VF", (6 , 6)); - ("AMO", (5 , 5)); - ("IMO", (4 , 4)); - ("FMO", (3 , 3)); - ("PTW", (2 , 2)); - ("SWIO", (1 , 1)); - ("VM", (0 , 0))] - -let build_ID_AA64MMFR0_type regname = - Register regname 64 63 false - [("TGran4", (31 , 28)); - ("TGran64", (27 , 24)); - ("TGran16", (23 , 20)); - ("BigEndEL0", (19 , 16)); - ("SNSMem", (15 , 12)); - ("BigEnd", (11 , 8)); - ("ASIDBits", (7 , 4)); - ("PARange", (3 , 0))] - -let RVBAR_EL1 = Register "RVBAR_EL1" 64 63 false [] - -let RVBAR_EL2 = Register "RVBAR_EL2" 64 63 false [] - -let RVBAR_EL3 = Register "RVBAR_EL3" 64 63 false [] - -let build_SCRType regname = - Register regname 32 31 false - [("TWE", (13 , 13)); - ("TWI", (12 , 12)); - ("ST", (11 , 11)); - ("RW", (10 , 10)); - ("SIF", (9 , 9)); - ("HCE", (8 , 8)); - ("SMD", (7 , 7)); - ("EA", (3 , 3)); - ("FIQ", (2 , 2)); - ("IRQ", (1 , 1)); - ("NS", (0 , 0))] - -let build_SCTLR_EL1_type regname = - Register regname 32 31 false - [("UCI", (26 , 26)); - ("EE", (25 , 25)); - ("E0E", (24 , 24)); - ("WXN", (19 , 19)); - ("nTWE", (18 , 18)); - ("nTWI", (16 , 16)); - ("UCT", (15 , 15)); - ("DZE", (14 , 14)); - ("I", (12 , 12)); - ("UMA", (9 , 9)); - ("SED", (8 , 8)); - ("ITD", (7 , 7)); - ("CP15BEN", (5 , 5)); - ("SA0", (4 , 4)); - ("SA", (3 , 3)); - ("C", (2 , 2)); - ("A", (1 , 1)); - ("M", (0 , 0))] - -let build_SCTLR_type regname = - Register regname 32 31 false - [("EE", (25 , 25)); - ("WXN", (19 , 19)); - ("I", (12 , 12)); - ("SA", (3 , 3)); - ("C", (2 , 2)); - ("A", (1 , 1)); - ("M", (0 , 0))] - -let build_TCR_EL1_type regname = - Register regname 64 63 false - [("TBI1", (38 , 38)); - ("TBI0", (37 , 37)); - ("AS", (36 , 36)); - ("IPS", (34 , 32)); - ("TG1", (31 , 30)); - ("SH1", (29 , 28)); - ("ORGN1", (27 , 26)); - ("IRGN1", (25 , 24)); - ("EPD1", (23 , 23)); - ("A1", (22 , 22)); - ("T1SZ", (21 , 16)); - ("TG0", (15 , 14)); - ("SH0", (13 , 12)); - ("ORGN0", (11 , 10)); - ("IRGN0", (9 , 8)); - ("EPD0", (7 , 7)); - ("T0SZ", (5 , 0))] - -let build_TCR_type regname = - Register regname 32 31 false - [("TBI", (20 , 20)); - ("PS", (18 , 16)); - ("TG0", (15 , 14)); - ("SH0", (13 , 12)); - ("ORGN0", (11 , 10)); - ("IRGN0", (9 , 8)); - ("T0SZ", (5 , 0))] - -let TPIDR_EL0 = Register "TPIDR_EL0" 64 63 false [] - -let TPIDR_EL1 = Register "TPIDR_EL1" 64 63 false [] - -let TPIDR_EL2 = Register "TPIDR_EL2" 64 63 false [] - -let TPIDR_EL3 = Register "TPIDR_EL3" 64 63 false [] - -let build_DBGPRCR_type regname = Register regname 32 31 false [("CORENPDRQ", (0 , 0))] - -let build_OSDLR_type regname = Register regname 32 31 false [("DLK", (0 , 0))] - -let build_EDSCR_type regname = - Register regname 32 31 false - [("RXfull", (30 , 30)); - ("TXfull", (29 , 29)); - ("ITO", (28 , 28)); - ("RXO", (27 , 27)); - ("TXU", (26 , 26)); - ("PipeAdv", (25 , 25)); - ("ITE", (24 , 24)); - ("INTdis", (23 , 22)); - ("TDA", (21 , 21)); - ("MA", (20 , 20)); - ("NS", (18 , 18)); - ("SDD", (16 , 16)); - ("HDE", (14 , 14)); - ("RW", (13 , 10)); - ("EL", (9 , 8)); - ("A", (7 , 7)); - ("ERR", (6 , 6)); - ("STATUS", (5 , 0))] - -let build_TXIDR_EL0_type regname = Register regname 64 63 false [("DEPTH", (7 , 0))] - -let build_CurrentEL_type regname = Register regname 32 31 false [("EL", (3 , 2))] - -let build_DAIF_type regname = - Register regname 32 31 false - [("D", (9 , 9)); ("A", (8 , 8)); ("I", (7 , 7)); ("F", (6 , 6))] - -let build_NZCV_type regname = - Register regname 32 31 false - [("N", (31 , 31)); ("Z", (30 , 30)); ("C", (29 , 29)); ("V", (28 , 28))] - -let SP_EL0 = Register "SP_EL0" 64 63 false [] - -let SP_EL1 = Register "SP_EL1" 64 63 false [] - -let SP_EL2 = Register "SP_EL2" 64 63 false [] - -let SP_EL3 = Register "SP_EL3" 64 63 false [] - -let build_SPSel_type regname = Register regname 32 31 false [("SP", (0 , 0))] - -let build_SPSR_type regname = - Register regname 32 31 false - [("N", (31 , 31)); - ("Z", (30 , 30)); - ("C", (29 , 29)); - ("V", (28 , 28)); - ("SS", (21 , 21)); - ("IL", (20 , 20)); - ("E", (9 , 9)); - ("A", (8 , 8)); - ("I", (7 , 7)); - ("F", (6 , 6)); - ("M4", (4 , 4)); - ("M3_0", (3 , 0))] - -let ELR_EL1 = Register "ELR_EL1" 64 63 false [] - -let ELR_EL2 = Register "ELR_EL2" 64 63 false [] - -let ELR_EL3 = Register "ELR_EL3" 64 63 false [] - -let build_DBGOSDLR_type regname = Register regname 32 31 false [("DLK", (0 , 0))] - -let PSTATE_nRW = Register "PSTATE_nRW" 1 0 false [] - -let PSTATE_E = Register "PSTATE_E" 1 0 false [] - -let PSTATE_M = Register "PSTATE_M" 5 4 false [] - -type AccType = - AccType_NORMAL - | AccType_VEC - | AccType_STREAM - | AccType_VECSTREAM - | AccType_ATOMIC - | AccType_ORDERED - | AccType_UNPRIV - | AccType_IFETCH - | AccType_PTW - | AccType_DC - | AccType_IC - | AccType_AT - - -type MBReqDomain = - MBReqDomain_Nonshareable - | MBReqDomain_InnerShareable - | MBReqDomain_OuterShareable - | MBReqDomain_FullSystem - - -type MBReqTypes = MBReqTypes_Reads | MBReqTypes_Writes | MBReqTypes_All - - -type BranchType = - BranchType_CALL - | BranchType_ERET - | BranchType_DBGEXIT - | BranchType_RET - | BranchType_JMP - | BranchType_EXCEPTION - | BranchType_UNKNOWN - - -type MoveWideOp = MoveWideOp_N | MoveWideOp_Z | MoveWideOp_K - - -type DeviceType = DeviceType_GRE | DeviceType_nGRE | DeviceType_nGnRE | DeviceType_nGnRnE - - -type Fault = - Fault_None - | Fault_AccessFlag - | Fault_Alignment - | Fault_Background - | Fault_Domain - | Fault_Permission - | Fault_Translation - | Fault_AddressSize - | Fault_SyncExternal - | Fault_SyncExternalOnWalk - | Fault_SyncParity - | Fault_SyncParityOnWalk - | Fault_AsyncParity - | Fault_AsyncExternal - | Fault_Debug - | Fault_TLBConflict - | Fault_Lockdown - | Fault_Exclusive - | Fault_ICacheMaint - - -type MemAttrHints = - <| MemAttrHints_attrs : vector bitU; - MemAttrHints_hints : vector bitU; - MemAttrHints_transient : bitU; |> - -type MemType = MemType_Normal | MemType_Device - - -type FullAddress = <| FullAddress_physicaladdress : vector bitU; FullAddress_NS : bitU; |> - -type PrefetchHint = Prefetch_READ | Prefetch_WRITE | Prefetch_EXEC - - -type CountOp = CountOp_CLZ | CountOp_CLS | CountOp_CNT - - -type ExtendType = - ExtendType_SXTB - | ExtendType_SXTH - | ExtendType_SXTW - | ExtendType_SXTX - | ExtendType_UXTB - | ExtendType_UXTH - | ExtendType_UXTW - | ExtendType_UXTX - - -type RevOp = RevOp_RBIT | RevOp_REV16 | RevOp_REV32 | RevOp_REV64 - - -type ShiftType = ShiftType_LSL | ShiftType_LSR | ShiftType_ASR | ShiftType_ROR - - -type LogicalOp = LogicalOp_AND | LogicalOp_EOR | LogicalOp_ORR - - -type MemOp = MemOp_LOAD | MemOp_STORE | MemOp_PREFETCH - - -type MemBarrierOp = MemBarrierOp_DSB | MemBarrierOp_DMB | MemBarrierOp_ISB - - -type SystemHintOp = - SystemHintOp_NOP - | SystemHintOp_YIELD - | SystemHintOp_WFE - | SystemHintOp_WFI - | SystemHintOp_SEV - | SystemHintOp_SEVL - - -type PSTATEField = PSTATEField_DAIFSet | PSTATEField_DAIFClr | PSTATEField_SP - - -type signalValue = LOw | HIGH - - - - - - - - - - - - - - -let TMAbortEffect = build_TMSTATUS_type "TMAbortEffect" - -let TMStartEffect = build_TMSTATUS_type "TMStartEffect" - -let HCR_EL2 = build_HCR_type "HCR_EL2" - -let ID_AA64MMFR0_EL1 = build_ID_AA64MMFR0_type "ID_AA64MMFR0_EL1" - -let SCR_EL3 = build_SCRType "SCR_EL3" - -let SCTLR_EL1 = build_SCTLR_EL1_type "SCTLR_EL1" - -let SCTLR_EL2 = build_SCTLR_type "SCTLR_EL2" - -let SCTLR_EL3 = build_SCTLR_type "SCTLR_EL3" - -let TCR_EL1 = build_TCR_EL1_type "TCR_EL1" - -let TCR_EL2 = build_TCR_type "TCR_EL2" - -let TCR_EL3 = build_TCR_type "TCR_EL3" - -let DBGPRCR_EL1 = build_DBGPRCR_type "DBGPRCR_EL1" - -let OSDLR_EL1 = build_OSDLR_type "OSDLR_EL1" - -let EDSCR = build_EDSCR_type "EDSCR" - -let TXIDR_EL0 = build_TXIDR_EL0_type "TXIDR_EL0" - -let CurrentEL = build_CurrentEL_type "CurrentEL" - -let DAIF = build_DAIF_type "DAIF" - -let NZCV = build_NZCV_type "NZCV" - -let SPSel = build_SPSel_type "SPSel" - -let SPSR_EL1 = build_SPSR_type "SPSR_EL1" - -let SPSR_EL2 = build_SPSR_type "SPSR_EL2" - -let SPSR_EL3 = build_SPSR_type "SPSR_EL3" - -let SCR = build_SCRType "SCR" - -let DBGOSDLR = build_DBGOSDLR_type "DBGOSDLR" - -let DBGPRCR = build_DBGPRCR_type "DBGPRCR" - -type MemoryAttributes = <| MemoryAttributes_type' : MemType; MemoryAttributes_shareable : bitU; |> - -type regfps = list regfp - -type niafps = list niafp - - - -type read_buffer_type = - <| read_buffer_type_acctype : AccType; - read_buffer_type_exclusive : bitU; - read_buffer_type_address : vector bitU; - read_buffer_type_size : uinteger; |> - -type write_buffer_type = - <| write_buffer_type_acctype : AccType; - write_buffer_type_exclusive : bitU; - write_buffer_type_address : vector bitU; - write_buffer_type_value : vector bitU; - write_buffer_type_size : uinteger; |> - -type FaultRecord = - <| FaultRecord_type' : Fault; - FaultRecord_acctype : AccType; - FaultRecord_ipaddress : vector bitU; - FaultRecord_s2fs1walk : bitU; - FaultRecord_write : bitU; - FaultRecord_level : uinteger; - FaultRecord_extflag : bitU; - FaultRecord_secondstage : bitU; - FaultRecord_domain : vector bitU; - FaultRecord_debugmoe : vector bitU; |> - - - -type ast = - | Unallocated - | ImplementationDefinedTestBeginEnd of (bitU) - | ImplementationDefinedStopFetching - | ImplementationDefinedThreadStart - | TMStart of (reg_index) - | TMCommit - | TMAbort of (bitU * vector bitU) - | TMTest - | CompareAndBranch of (reg_index * integer * bitU * vector bitU) - | BranchConditional of (vector bitU * vector bitU) - | GenerateExceptionEL1 of (vector bitU) - | GenerateExceptionEL2 of (vector bitU) - | GenerateExceptionEL3 of (vector bitU) - | DebugBreakpoint of (vector bitU) - | ExternalDebugBreakpoint - | DebugSwitchToExceptionLevel of (vector bitU) - | MoveSystemImmediate of (vector bitU * PSTATEField) - | Hint of (SystemHintOp) - | ClearExclusiveMonitor of (uinteger) - | Barrier of (MemBarrierOp * MBReqDomain * MBReqTypes) - | System of (reg_index * uinteger * uinteger * uinteger * uinteger * uinteger * bitU) - | MoveSystemRegister of (reg_index * uinteger * uinteger * uinteger * uinteger * uinteger * bitU) - | TestBitAndBranch of (reg_index * integer * uinteger * bitU * vector bitU) - | BranchImmediate of (BranchType * vector bitU) - | BranchRegister of (reg_index * BranchType) - | ExceptionReturn - | DebugRestorePState - | LoadLiteral of (reg_index * MemOp * bitU * uinteger * vector bitU * integer) - | LoadStoreAcqExc of (reg_index * reg_index * reg_index * reg_index * AccType * bitU * bitU * MemOp * uinteger * integer * integer) - | LoadStorePairNonTemp of (bitU * bitU * reg_index * reg_index * reg_index * AccType * MemOp * uinteger * integer * vector bitU) - | LoadImmediate of (reg_index * reg_index * AccType * MemOp * bitU * bitU * bitU * vector bitU * integer * integer) - | LoadRegister of (reg_index * reg_index * reg_index * AccType * MemOp * bitU * bitU * bitU * ExtendType * uinteger * integer * integer) - | LoadStorePair of (bitU * bitU * reg_index * reg_index * reg_index * AccType * MemOp * bitU * integer * vector bitU) - | AddSubImmediate of (reg_index * reg_index * integer * bitU * bitU * vector bitU) - | BitfieldMove of (reg_index * reg_index * integer * bitU * bitU * uinteger * uinteger * vector bitU * vector bitU) - | ExtractRegister of (reg_index * reg_index * reg_index * integer * uinteger) - | LogicalImmediate of (reg_index * reg_index * integer * bitU * LogicalOp * vector bitU) - | MoveWide of (reg_index * integer * vector bitU * uinteger * MoveWideOp) - | Address of (reg_index * bitU * vector bitU) - | AddSubExtendRegister of (reg_index * reg_index * reg_index * integer * bitU * bitU * ExtendType * integer) - | AddSubShiftedRegister of (reg_index * reg_index * reg_index * integer * bitU * bitU * ShiftType * integer) - | AddSubCarry of (reg_index * reg_index * reg_index * integer * bitU * bitU) - | ConditionalCompareImmediate of (reg_index * integer * bitU * vector bitU * vector bitU * vector bitU) - | ConditionalCompareRegister of (reg_index * reg_index * integer * bitU * vector bitU * vector bitU) - | ConditionalSelect of (reg_index * reg_index * reg_index * integer * vector bitU * bitU * bitU) - | Reverse of (reg_index * reg_index * integer * RevOp) - | CountLeading of (reg_index * reg_index * integer * CountOp) - | Division of (reg_index * reg_index * reg_index * integer * bitU) - | Shift of (reg_index * reg_index * reg_index * integer * ShiftType) - | CRC of (reg_index * reg_index * reg_index * integer * bitU) - | MultiplyAddSub of (reg_index * reg_index * reg_index * reg_index * integer * integer * bitU) - | MultiplyAddSubLong of (reg_index * reg_index * reg_index * reg_index * integer * integer * bitU * bitU) - | MultiplyHigh of (reg_index * reg_index * reg_index * reg_index * integer * integer * bitU) - | LogicalShiftedRegister of (reg_index * reg_index * reg_index * integer * bitU * LogicalOp * ShiftType * integer * bitU) - - -type AddressDescriptor = - <| AddressDescriptor_fault : FaultRecord; - AddressDescriptor_memattrs : MemoryAttributes; - AddressDescriptor_paddress : FullAddress; |> - diff --git a/aarch64_small/armV8_lib.h.sail b/aarch64_small/armV8_lib.h.sail index 50909c88..6f09ad13 100644 --- a/aarch64_small/armV8_lib.h.sail +++ b/aarch64_small/armV8_lib.h.sail @@ -153,33 +153,33 @@ struct AddressDescriptor = { enum PrefetchHint = {Prefetch_READ, Prefetch_WRITE, Prefetch_EXEC} -val ASR_C : forall 'N 'S, 'N >= 1 & 'S >= 1. (bits('N),atom('S)) -> (bits('N), bit) effect pure +val ASR_C : forall 'N 'S, 'N >= 1 & 'S >= 1. (bits('N),atom('S)) -> (bits('N), bit) effect {escape} val LSL_C : forall 'N 'S, 'N >= 0 & 'S >= 1. (bits('N),atom('S)) -> (bits('N), bit) effect pure -val LSR_C : forall 'N 'S, 'N >= 0 & 'S >= 1. (bits('N),atom('S)) -> (bits('N), bit) effect pure -val ROR_C : forall 'N 'S, 'N >= 0 & ('S >= 1 | 'S <= -1). (bits('N),int('S)) -> (bits('N), bit) effect pure +val LSR_C : forall 'N 'S, 'N >= 1 & 'S >= 1. (bits('N),atom('S)) -> (bits('N), bit) effect pure +val ROR_C : forall 'N 'S, 'N >= 1 & 'S != 0. (bits('N),atom('S)) -> (bits('N), bit) effect pure val IsZero : forall 'N, 'N >=0. bits('N) -> boolean effect pure -val Replicate : forall 'N 'M, 'N >=0 & 'M >=0. (implicit('N),bits('M)) -> bits('N) effect pure -val SignExtend : forall 'N 'M, 'N > 'M & 'M >= 1. (implicit('N),bits('M)) -> bits('N) effect pure +val Replicate : forall 'N 'M, 'N >='M & 'M >=0. (implicit('N),bits('M)) -> bits('N) effect {escape} +val SignExtend : forall 'N 'M, 'N > 'M & 'M >= 1. (implicit('N),bits('M)) -> bits('N) effect {escape} val ZeroExtend : forall 'N 'M, 'N >= 'M & 'M >= 0. (implicit('N),bits('M)) -> bits('N) effect pure val Zeros : forall 'N, 'N >=0. implicit('N) -> bits('N) effect pure -val Ones : forall 'N, 'N >=0. implicit('N) -> bits('N) effect pure +val Ones : forall 'N, 'N >=1. implicit('N) -> bits('N) effect {escape} /* val UInt : forall Nat 'N, Nat 'M, 'M = 2**'N. bits('N) -> [|'M + -1|] effect pure */ -val UInt : forall 'N, 'N >=0 . bits('N) -> range(0, 2 ^ 'N + -1) +val UInt : forall 'N, 'N >=0 . bits('N) -> range(0, 2 ^ 'N + -1) effect {escape} /* val UInt : forall 'N 'M, 'N >=0 & 'M >= 0. bits('N) -> Int('M) effect pure */ /* val SInt : forall Nat 'N, Nat 'M, Nat 'K, 'M = 'N + -1, 'K = 2**'M. bits('N) -> [|'K * -1:'K + -1|] effect pure */ -val SInt : forall 'N, 'N >= 0. bits('N) -> range(-(2 ^ ('N - 1) - 1), 2 ^ ('N - 1) - 1) effect pure +val SInt : forall 'N, 'N > 0. bits('N) -> range(-(2 ^ ('N - 1)), 2 ^ ('N - 1) - 1) effect pure val HighestSetBit : forall 'N, 'N >= 0. bits('N) -> option(range(0,'N - 1)) effect pure val CountLeadingZeroBits : forall 'N, 'N >= 0. bits('N) -> range(0,'N) effect pure -val IsSecure : unit -> boolean effect {rreg} -val IsSecureBelowEL3 : unit -> boolean effect {rreg} -val SCR_GEN : unit -> SCRType effect pure +val IsSecure : unit -> boolean effect {escape,rreg} +val IsSecureBelowEL3 : unit -> boolean effect {escape,rreg} +val SCR_GEN : unit -> SCRType effect {escape,rreg} val UsingAArch32 : unit -> boolean effect pure val ELUsingAArch32 : bits(2) -> boolean effect pure val Halted : unit -> boolean effect {rreg} -val HaveEL : bits(2) -> boolean effect pure +val HaveEL : bits(2) -> boolean effect {escape} val HaveAnyAArch32 : unit -> boolean effect pure val HighestELUsingAArch32 : unit -> boolean effect pure -val Unreachable : unit -> unit effect pure +val Unreachable : unit -> unit effect {escape} val Hint_Branch : BranchType -> unit effect pure /*************************************************************************/ @@ -211,20 +211,20 @@ enum PSTATEField = {PSTATEField_DAIFSet, PSTATEField_DAIFClr, PSTATEField_SP} val rPC : unit -> bits(64) effect {rreg} -val rSP : forall 'N, 'N in {8,16,32,64}. implicit('N) -> bits('N) effect {rreg} +val rSP : forall 'N, 'N in {8,16,32,64}. implicit('N) -> bits('N) effect {rreg,escape} val wX : forall 'N, 'N in {32,64}. (reg_index,bits('N)) -> unit effect {wreg} val rX : forall 'N, 'N in {8,16,32,64}. (implicit('N),reg_index) -> bits('N) effect {rreg} val wV : forall 'N, 'N in {8,16,32,64,128}. (SIMD_index,bits('N)) -> unit effect {wreg} val rV : forall 'N, 'N in {8,16,32,64,128}. (implicit('N),SIMD_index) -> bits('N) effect {rreg} -val rVpart : forall 'N, 'N in {8,16,32,64,128}. (implicit('N),SIMD_index,range(0,1)) -> bits('N) effect {rreg} -val SCTLR : unit -> SCTLR_type effect {rreg} +val rVpart : forall 'N, 'N in {8,16,32,64,128}. (implicit('N),SIMD_index,range(0,1)) -> bits('N) effect {rreg,escape} +val SCTLR' : unit -> SCTLR_type effect {rreg} val AArch64_UndefinedFault : unit -> unit effect {escape} val AArch64_TranslateAddress : (bits(64),AccType,boolean,boolean,uinteger) -> AddressDescriptor effect pure val AArch64_WFxTrap : (bits(2),boolean) -> unit effect {escape} val AArch64_AlignmentFault : (AccType,boolean,boolean) -> FaultRecord effect pure val AArch64_ResetGeneralRegisters : unit -> unit effect {wreg} val AArch64_ResetSIMDFPRegisters : unit -> unit effect {wreg} -val AArch64_ResetSpecialRegisters : unit -> unit effect {wreg} +val AArch64_ResetSpecialRegisters : unit -> unit effect {wreg,escape} val AArch64_IsExclusiveVA : (bits(64),integer,uinteger) -> boolean effect pure /*************************************************************************/ diff --git a/aarch64_small/armV8_pstate.sail b/aarch64_small/armV8_pstate.sail index 9bc88891..38932472 100644 --- a/aarch64_small/armV8_pstate.sail +++ b/aarch64_small/armV8_pstate.sail @@ -128,8 +128,8 @@ function wPSTATE_NZCV((), [n,z,c,v]) = { } /* this is a convenient way to do "PSTATE.<D,A,I,F> = daif;" */ -val wPSTATE_DAIF : (unit, bits(4)) -> unit effect {wreg} -function wPSTATE_DAIF((), [d,a,i,f]) = +val wPSTATE_DAIF : (bits(4)) -> unit effect {wreg} +function wPSTATE_DAIF([d,a,i,f]) = { PSTATE_D() = [d]; PSTATE_A() = [a]; diff --git a/aarch64_small/armV8_toFromInterp.lem b/aarch64_small/armV8_toFromInterp.lem deleted file mode 100644 index 0ce3f7f5..00000000 --- a/aarch64_small/armV8_toFromInterp.lem +++ /dev/null @@ -1,702 +0,0 @@ -(*Generated by Sail from armV8.sail.*) -open import Pervasives_extra -open import Sail_impl_base -open import Sail_values -open import ArmV8_embed_types -open import ArmV8_extras_embed - import Interp - import Interp_ast -open import Deep_shallow_convert -let AccTypeToInterpValue = function - | AccType_NORMAL -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_NORMAL") Interp_ast.Unknown) (Interp_ast.T_id "AccType") (Interp_ast.C_Enum 0) (toInterpValue ()) - | AccType_VEC -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_VEC") Interp_ast.Unknown) (Interp_ast.T_id "AccType") (Interp_ast.C_Enum 1) (toInterpValue ()) - | AccType_STREAM -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_STREAM") Interp_ast.Unknown) (Interp_ast.T_id "AccType") (Interp_ast.C_Enum 2) (toInterpValue ()) - | AccType_VECSTREAM -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_VECSTREAM") Interp_ast.Unknown) (Interp_ast.T_id "AccType") (Interp_ast.C_Enum 3) (toInterpValue ()) - | AccType_ATOMIC -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_ATOMIC") Interp_ast.Unknown) (Interp_ast.T_id "AccType") (Interp_ast.C_Enum 4) (toInterpValue ()) - | AccType_ORDERED -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_ORDERED") Interp_ast.Unknown) (Interp_ast.T_id "AccType") (Interp_ast.C_Enum 5) (toInterpValue ()) - | AccType_UNPRIV -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_UNPRIV") Interp_ast.Unknown) (Interp_ast.T_id "AccType") (Interp_ast.C_Enum 6) (toInterpValue ()) - | AccType_IFETCH -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_IFETCH") Interp_ast.Unknown) (Interp_ast.T_id "AccType") (Interp_ast.C_Enum 7) (toInterpValue ()) - | AccType_PTW -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_PTW") Interp_ast.Unknown) (Interp_ast.T_id "AccType") (Interp_ast.C_Enum 8) (toInterpValue ()) - | AccType_DC -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_DC") Interp_ast.Unknown) (Interp_ast.T_id "AccType") (Interp_ast.C_Enum 9) (toInterpValue ()) - | AccType_IC -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_IC") Interp_ast.Unknown) (Interp_ast.T_id "AccType") (Interp_ast.C_Enum 10) (toInterpValue ()) - | AccType_AT -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_AT") Interp_ast.Unknown) (Interp_ast.T_id "AccType") (Interp_ast.C_Enum 11) (toInterpValue ()) - end - -let rec AccTypeFromInterpValue v = match v with - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_NORMAL") _) _ _ v -> AccType_NORMAL - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_VEC") _) _ _ v -> AccType_VEC - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_STREAM") _) _ _ v -> AccType_STREAM - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_VECSTREAM") _) _ _ v -> AccType_VECSTREAM - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_ATOMIC") _) _ _ v -> AccType_ATOMIC - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_ORDERED") _) _ _ v -> AccType_ORDERED - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_UNPRIV") _) _ _ v -> AccType_UNPRIV - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_IFETCH") _) _ _ v -> AccType_IFETCH - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_PTW") _) _ _ v -> AccType_PTW - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_DC") _) _ _ v -> AccType_DC - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_IC") _) _ _ v -> AccType_IC - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AccType_AT") _) _ _ v -> AccType_AT - | Interp_ast.V_lit (Interp_ast.L_aux (Interp_ast.L_num n) _) -> - match (natFromInteger n) with - | 0 -> AccType_NORMAL - | 1 -> AccType_VEC - | 2 -> AccType_STREAM - | 3 -> AccType_VECSTREAM - | 4 -> AccType_ATOMIC - | 5 -> AccType_ORDERED - | 6 -> AccType_UNPRIV - | 7 -> AccType_IFETCH - | 8 -> AccType_PTW - | 9 -> AccType_DC - | 10 -> AccType_IC - | 11 -> AccType_AT - end - | Interp_ast.V_tuple [v] -> AccTypeFromInterpValue v - | v -> failwith ("fromInterpValue AccType: unexpected value. " ^ Interp.debug_print_value v) - end - -instance (ToFromInterpValue AccType) - let toInterpValue = AccTypeToInterpValue - let fromInterpValue = AccTypeFromInterpValue -end -let MBReqDomainToInterpValue = function - | MBReqDomain_Nonshareable -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MBReqDomain_Nonshareable") Interp_ast.Unknown) (Interp_ast.T_id "MBReqDomain") (Interp_ast.C_Enum 0) (toInterpValue ()) - | MBReqDomain_InnerShareable -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MBReqDomain_InnerShareable") Interp_ast.Unknown) (Interp_ast.T_id "MBReqDomain") (Interp_ast.C_Enum 1) (toInterpValue ()) - | MBReqDomain_OuterShareable -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MBReqDomain_OuterShareable") Interp_ast.Unknown) (Interp_ast.T_id "MBReqDomain") (Interp_ast.C_Enum 2) (toInterpValue ()) - | MBReqDomain_FullSystem -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MBReqDomain_FullSystem") Interp_ast.Unknown) (Interp_ast.T_id "MBReqDomain") (Interp_ast.C_Enum 3) (toInterpValue ()) - end - -let rec MBReqDomainFromInterpValue v = match v with - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MBReqDomain_Nonshareable") _) _ _ v -> MBReqDomain_Nonshareable - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MBReqDomain_InnerShareable") _) _ _ v -> MBReqDomain_InnerShareable - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MBReqDomain_OuterShareable") _) _ _ v -> MBReqDomain_OuterShareable - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MBReqDomain_FullSystem") _) _ _ v -> MBReqDomain_FullSystem - | Interp_ast.V_lit (Interp_ast.L_aux (Interp_ast.L_num n) _) -> - match (natFromInteger n) with - | 0 -> MBReqDomain_Nonshareable - | 1 -> MBReqDomain_InnerShareable - | 2 -> MBReqDomain_OuterShareable - | 3 -> MBReqDomain_FullSystem - end - | Interp_ast.V_tuple [v] -> MBReqDomainFromInterpValue v - | v -> failwith ("fromInterpValue MBReqDomain: unexpected value. " ^ Interp.debug_print_value v) - end - -instance (ToFromInterpValue MBReqDomain) - let toInterpValue = MBReqDomainToInterpValue - let fromInterpValue = MBReqDomainFromInterpValue -end -let MBReqTypesToInterpValue = function - | MBReqTypes_Reads -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MBReqTypes_Reads") Interp_ast.Unknown) (Interp_ast.T_id "MBReqTypes") (Interp_ast.C_Enum 0) (toInterpValue ()) - | MBReqTypes_Writes -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MBReqTypes_Writes") Interp_ast.Unknown) (Interp_ast.T_id "MBReqTypes") (Interp_ast.C_Enum 1) (toInterpValue ()) - | MBReqTypes_All -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MBReqTypes_All") Interp_ast.Unknown) (Interp_ast.T_id "MBReqTypes") (Interp_ast.C_Enum 2) (toInterpValue ()) - end - -let rec MBReqTypesFromInterpValue v = match v with - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MBReqTypes_Reads") _) _ _ v -> MBReqTypes_Reads - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MBReqTypes_Writes") _) _ _ v -> MBReqTypes_Writes - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MBReqTypes_All") _) _ _ v -> MBReqTypes_All - | Interp_ast.V_lit (Interp_ast.L_aux (Interp_ast.L_num n) _) -> - match (natFromInteger n) with - | 0 -> MBReqTypes_Reads - | 1 -> MBReqTypes_Writes - | 2 -> MBReqTypes_All - end - | Interp_ast.V_tuple [v] -> MBReqTypesFromInterpValue v - | v -> failwith ("fromInterpValue MBReqTypes: unexpected value. " ^ Interp.debug_print_value v) - end - -instance (ToFromInterpValue MBReqTypes) - let toInterpValue = MBReqTypesToInterpValue - let fromInterpValue = MBReqTypesFromInterpValue -end -let BranchTypeToInterpValue = function - | BranchType_CALL -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BranchType_CALL") Interp_ast.Unknown) (Interp_ast.T_id "BranchType") (Interp_ast.C_Enum 0) (toInterpValue ()) - | BranchType_ERET -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BranchType_ERET") Interp_ast.Unknown) (Interp_ast.T_id "BranchType") (Interp_ast.C_Enum 1) (toInterpValue ()) - | BranchType_DBGEXIT -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BranchType_DBGEXIT") Interp_ast.Unknown) (Interp_ast.T_id "BranchType") (Interp_ast.C_Enum 2) (toInterpValue ()) - | BranchType_RET -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BranchType_RET") Interp_ast.Unknown) (Interp_ast.T_id "BranchType") (Interp_ast.C_Enum 3) (toInterpValue ()) - | BranchType_JMP -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BranchType_JMP") Interp_ast.Unknown) (Interp_ast.T_id "BranchType") (Interp_ast.C_Enum 4) (toInterpValue ()) - | BranchType_EXCEPTION -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BranchType_EXCEPTION") Interp_ast.Unknown) (Interp_ast.T_id "BranchType") (Interp_ast.C_Enum 5) (toInterpValue ()) - | BranchType_UNKNOWN -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BranchType_UNKNOWN") Interp_ast.Unknown) (Interp_ast.T_id "BranchType") (Interp_ast.C_Enum 6) (toInterpValue ()) - end - -let rec BranchTypeFromInterpValue v = match v with - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BranchType_CALL") _) _ _ v -> BranchType_CALL - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BranchType_ERET") _) _ _ v -> BranchType_ERET - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BranchType_DBGEXIT") _) _ _ v -> BranchType_DBGEXIT - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BranchType_RET") _) _ _ v -> BranchType_RET - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BranchType_JMP") _) _ _ v -> BranchType_JMP - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BranchType_EXCEPTION") _) _ _ v -> BranchType_EXCEPTION - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BranchType_UNKNOWN") _) _ _ v -> BranchType_UNKNOWN - | Interp_ast.V_lit (Interp_ast.L_aux (Interp_ast.L_num n) _) -> - match (natFromInteger n) with - | 0 -> BranchType_CALL - | 1 -> BranchType_ERET - | 2 -> BranchType_DBGEXIT - | 3 -> BranchType_RET - | 4 -> BranchType_JMP - | 5 -> BranchType_EXCEPTION - | 6 -> BranchType_UNKNOWN - end - | Interp_ast.V_tuple [v] -> BranchTypeFromInterpValue v - | v -> failwith ("fromInterpValue BranchType: unexpected value. " ^ Interp.debug_print_value v) - end - -instance (ToFromInterpValue BranchType) - let toInterpValue = BranchTypeToInterpValue - let fromInterpValue = BranchTypeFromInterpValue -end -let MoveWideOpToInterpValue = function - | MoveWideOp_N -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MoveWideOp_N") Interp_ast.Unknown) (Interp_ast.T_id "MoveWideOp") (Interp_ast.C_Enum 0) (toInterpValue ()) - | MoveWideOp_Z -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MoveWideOp_Z") Interp_ast.Unknown) (Interp_ast.T_id "MoveWideOp") (Interp_ast.C_Enum 1) (toInterpValue ()) - | MoveWideOp_K -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MoveWideOp_K") Interp_ast.Unknown) (Interp_ast.T_id "MoveWideOp") (Interp_ast.C_Enum 2) (toInterpValue ()) - end - -let rec MoveWideOpFromInterpValue v = match v with - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MoveWideOp_N") _) _ _ v -> MoveWideOp_N - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MoveWideOp_Z") _) _ _ v -> MoveWideOp_Z - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MoveWideOp_K") _) _ _ v -> MoveWideOp_K - | Interp_ast.V_lit (Interp_ast.L_aux (Interp_ast.L_num n) _) -> - match (natFromInteger n) with - | 0 -> MoveWideOp_N - | 1 -> MoveWideOp_Z - | 2 -> MoveWideOp_K - end - | Interp_ast.V_tuple [v] -> MoveWideOpFromInterpValue v - | v -> failwith ("fromInterpValue MoveWideOp: unexpected value. " ^ Interp.debug_print_value v) - end - -instance (ToFromInterpValue MoveWideOp) - let toInterpValue = MoveWideOpToInterpValue - let fromInterpValue = MoveWideOpFromInterpValue -end -let DeviceTypeToInterpValue = function - | DeviceType_GRE -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "DeviceType_GRE") Interp_ast.Unknown) (Interp_ast.T_id "DeviceType") (Interp_ast.C_Enum 0) (toInterpValue ()) - | DeviceType_nGRE -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "DeviceType_nGRE") Interp_ast.Unknown) (Interp_ast.T_id "DeviceType") (Interp_ast.C_Enum 1) (toInterpValue ()) - | DeviceType_nGnRE -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "DeviceType_nGnRE") Interp_ast.Unknown) (Interp_ast.T_id "DeviceType") (Interp_ast.C_Enum 2) (toInterpValue ()) - | DeviceType_nGnRnE -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "DeviceType_nGnRnE") Interp_ast.Unknown) (Interp_ast.T_id "DeviceType") (Interp_ast.C_Enum 3) (toInterpValue ()) - end - -let rec DeviceTypeFromInterpValue v = match v with - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "DeviceType_GRE") _) _ _ v -> DeviceType_GRE - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "DeviceType_nGRE") _) _ _ v -> DeviceType_nGRE - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "DeviceType_nGnRE") _) _ _ v -> DeviceType_nGnRE - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "DeviceType_nGnRnE") _) _ _ v -> DeviceType_nGnRnE - | Interp_ast.V_lit (Interp_ast.L_aux (Interp_ast.L_num n) _) -> - match (natFromInteger n) with - | 0 -> DeviceType_GRE - | 1 -> DeviceType_nGRE - | 2 -> DeviceType_nGnRE - | 3 -> DeviceType_nGnRnE - end - | Interp_ast.V_tuple [v] -> DeviceTypeFromInterpValue v - | v -> failwith ("fromInterpValue DeviceType: unexpected value. " ^ Interp.debug_print_value v) - end - -instance (ToFromInterpValue DeviceType) - let toInterpValue = DeviceTypeToInterpValue - let fromInterpValue = DeviceTypeFromInterpValue -end -let FaultToInterpValue = function - | Fault_None -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_None") Interp_ast.Unknown) (Interp_ast.T_id "Fault") (Interp_ast.C_Enum 0) (toInterpValue ()) - | Fault_AccessFlag -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_AccessFlag") Interp_ast.Unknown) (Interp_ast.T_id "Fault") (Interp_ast.C_Enum 1) (toInterpValue ()) - | Fault_Alignment -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_Alignment") Interp_ast.Unknown) (Interp_ast.T_id "Fault") (Interp_ast.C_Enum 2) (toInterpValue ()) - | Fault_Background -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_Background") Interp_ast.Unknown) (Interp_ast.T_id "Fault") (Interp_ast.C_Enum 3) (toInterpValue ()) - | Fault_Domain -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_Domain") Interp_ast.Unknown) (Interp_ast.T_id "Fault") (Interp_ast.C_Enum 4) (toInterpValue ()) - | Fault_Permission -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_Permission") Interp_ast.Unknown) (Interp_ast.T_id "Fault") (Interp_ast.C_Enum 5) (toInterpValue ()) - | Fault_Translation -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_Translation") Interp_ast.Unknown) (Interp_ast.T_id "Fault") (Interp_ast.C_Enum 6) (toInterpValue ()) - | Fault_AddressSize -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_AddressSize") Interp_ast.Unknown) (Interp_ast.T_id "Fault") (Interp_ast.C_Enum 7) (toInterpValue ()) - | Fault_SyncExternal -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_SyncExternal") Interp_ast.Unknown) (Interp_ast.T_id "Fault") (Interp_ast.C_Enum 8) (toInterpValue ()) - | Fault_SyncExternalOnWalk -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_SyncExternalOnWalk") Interp_ast.Unknown) (Interp_ast.T_id "Fault") (Interp_ast.C_Enum 9) (toInterpValue ()) - | Fault_SyncParity -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_SyncParity") Interp_ast.Unknown) (Interp_ast.T_id "Fault") (Interp_ast.C_Enum 10) (toInterpValue ()) - | Fault_SyncParityOnWalk -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_SyncParityOnWalk") Interp_ast.Unknown) (Interp_ast.T_id "Fault") (Interp_ast.C_Enum 11) (toInterpValue ()) - | Fault_AsyncParity -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_AsyncParity") Interp_ast.Unknown) (Interp_ast.T_id "Fault") (Interp_ast.C_Enum 12) (toInterpValue ()) - | Fault_AsyncExternal -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_AsyncExternal") Interp_ast.Unknown) (Interp_ast.T_id "Fault") (Interp_ast.C_Enum 13) (toInterpValue ()) - | Fault_Debug -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_Debug") Interp_ast.Unknown) (Interp_ast.T_id "Fault") (Interp_ast.C_Enum 14) (toInterpValue ()) - | Fault_TLBConflict -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_TLBConflict") Interp_ast.Unknown) (Interp_ast.T_id "Fault") (Interp_ast.C_Enum 15) (toInterpValue ()) - | Fault_Lockdown -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_Lockdown") Interp_ast.Unknown) (Interp_ast.T_id "Fault") (Interp_ast.C_Enum 16) (toInterpValue ()) - | Fault_Exclusive -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_Exclusive") Interp_ast.Unknown) (Interp_ast.T_id "Fault") (Interp_ast.C_Enum 17) (toInterpValue ()) - | Fault_ICacheMaint -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_ICacheMaint") Interp_ast.Unknown) (Interp_ast.T_id "Fault") (Interp_ast.C_Enum 18) (toInterpValue ()) - end - -let rec FaultFromInterpValue v = match v with - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_None") _) _ _ v -> Fault_None - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_AccessFlag") _) _ _ v -> Fault_AccessFlag - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_Alignment") _) _ _ v -> Fault_Alignment - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_Background") _) _ _ v -> Fault_Background - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_Domain") _) _ _ v -> Fault_Domain - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_Permission") _) _ _ v -> Fault_Permission - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_Translation") _) _ _ v -> Fault_Translation - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_AddressSize") _) _ _ v -> Fault_AddressSize - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_SyncExternal") _) _ _ v -> Fault_SyncExternal - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_SyncExternalOnWalk") _) _ _ v -> Fault_SyncExternalOnWalk - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_SyncParity") _) _ _ v -> Fault_SyncParity - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_SyncParityOnWalk") _) _ _ v -> Fault_SyncParityOnWalk - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_AsyncParity") _) _ _ v -> Fault_AsyncParity - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_AsyncExternal") _) _ _ v -> Fault_AsyncExternal - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_Debug") _) _ _ v -> Fault_Debug - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_TLBConflict") _) _ _ v -> Fault_TLBConflict - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_Lockdown") _) _ _ v -> Fault_Lockdown - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_Exclusive") _) _ _ v -> Fault_Exclusive - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Fault_ICacheMaint") _) _ _ v -> Fault_ICacheMaint - | Interp_ast.V_lit (Interp_ast.L_aux (Interp_ast.L_num n) _) -> - match (natFromInteger n) with - | 0 -> Fault_None - | 1 -> Fault_AccessFlag - | 2 -> Fault_Alignment - | 3 -> Fault_Background - | 4 -> Fault_Domain - | 5 -> Fault_Permission - | 6 -> Fault_Translation - | 7 -> Fault_AddressSize - | 8 -> Fault_SyncExternal - | 9 -> Fault_SyncExternalOnWalk - | 10 -> Fault_SyncParity - | 11 -> Fault_SyncParityOnWalk - | 12 -> Fault_AsyncParity - | 13 -> Fault_AsyncExternal - | 14 -> Fault_Debug - | 15 -> Fault_TLBConflict - | 16 -> Fault_Lockdown - | 17 -> Fault_Exclusive - | 18 -> Fault_ICacheMaint - end - | Interp_ast.V_tuple [v] -> FaultFromInterpValue v - | v -> failwith ("fromInterpValue Fault: unexpected value. " ^ Interp.debug_print_value v) - end - -instance (ToFromInterpValue Fault) - let toInterpValue = FaultToInterpValue - let fromInterpValue = FaultFromInterpValue -end -let MemTypeToInterpValue = function - | MemType_Normal -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MemType_Normal") Interp_ast.Unknown) (Interp_ast.T_id "MemType") (Interp_ast.C_Enum 0) (toInterpValue ()) - | MemType_Device -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MemType_Device") Interp_ast.Unknown) (Interp_ast.T_id "MemType") (Interp_ast.C_Enum 1) (toInterpValue ()) - end - -let rec MemTypeFromInterpValue v = match v with - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MemType_Normal") _) _ _ v -> MemType_Normal - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MemType_Device") _) _ _ v -> MemType_Device - | Interp_ast.V_lit (Interp_ast.L_aux (Interp_ast.L_num n) _) -> - match (natFromInteger n) with - | 0 -> MemType_Normal - | 1 -> MemType_Device - end - | Interp_ast.V_tuple [v] -> MemTypeFromInterpValue v - | v -> failwith ("fromInterpValue MemType: unexpected value. " ^ Interp.debug_print_value v) - end - -instance (ToFromInterpValue MemType) - let toInterpValue = MemTypeToInterpValue - let fromInterpValue = MemTypeFromInterpValue -end -let PrefetchHintToInterpValue = function - | Prefetch_READ -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Prefetch_READ") Interp_ast.Unknown) (Interp_ast.T_id "PrefetchHint") (Interp_ast.C_Enum 0) (toInterpValue ()) - | Prefetch_WRITE -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Prefetch_WRITE") Interp_ast.Unknown) (Interp_ast.T_id "PrefetchHint") (Interp_ast.C_Enum 1) (toInterpValue ()) - | Prefetch_EXEC -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Prefetch_EXEC") Interp_ast.Unknown) (Interp_ast.T_id "PrefetchHint") (Interp_ast.C_Enum 2) (toInterpValue ()) - end - -let rec PrefetchHintFromInterpValue v = match v with - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Prefetch_READ") _) _ _ v -> Prefetch_READ - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Prefetch_WRITE") _) _ _ v -> Prefetch_WRITE - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Prefetch_EXEC") _) _ _ v -> Prefetch_EXEC - | Interp_ast.V_lit (Interp_ast.L_aux (Interp_ast.L_num n) _) -> - match (natFromInteger n) with - | 0 -> Prefetch_READ - | 1 -> Prefetch_WRITE - | 2 -> Prefetch_EXEC - end - | Interp_ast.V_tuple [v] -> PrefetchHintFromInterpValue v - | v -> failwith ("fromInterpValue PrefetchHint: unexpected value. " ^ Interp.debug_print_value v) - end - -instance (ToFromInterpValue PrefetchHint) - let toInterpValue = PrefetchHintToInterpValue - let fromInterpValue = PrefetchHintFromInterpValue -end -let CountOpToInterpValue = function - | CountOp_CLZ -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "CountOp_CLZ") Interp_ast.Unknown) (Interp_ast.T_id "CountOp") (Interp_ast.C_Enum 0) (toInterpValue ()) - | CountOp_CLS -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "CountOp_CLS") Interp_ast.Unknown) (Interp_ast.T_id "CountOp") (Interp_ast.C_Enum 1) (toInterpValue ()) - | CountOp_CNT -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "CountOp_CNT") Interp_ast.Unknown) (Interp_ast.T_id "CountOp") (Interp_ast.C_Enum 2) (toInterpValue ()) - end - -let rec CountOpFromInterpValue v = match v with - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "CountOp_CLZ") _) _ _ v -> CountOp_CLZ - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "CountOp_CLS") _) _ _ v -> CountOp_CLS - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "CountOp_CNT") _) _ _ v -> CountOp_CNT - | Interp_ast.V_lit (Interp_ast.L_aux (Interp_ast.L_num n) _) -> - match (natFromInteger n) with - | 0 -> CountOp_CLZ - | 1 -> CountOp_CLS - | 2 -> CountOp_CNT - end - | Interp_ast.V_tuple [v] -> CountOpFromInterpValue v - | v -> failwith ("fromInterpValue CountOp: unexpected value. " ^ Interp.debug_print_value v) - end - -instance (ToFromInterpValue CountOp) - let toInterpValue = CountOpToInterpValue - let fromInterpValue = CountOpFromInterpValue -end -let ExtendTypeToInterpValue = function - | ExtendType_SXTB -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExtendType_SXTB") Interp_ast.Unknown) (Interp_ast.T_id "ExtendType") (Interp_ast.C_Enum 0) (toInterpValue ()) - | ExtendType_SXTH -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExtendType_SXTH") Interp_ast.Unknown) (Interp_ast.T_id "ExtendType") (Interp_ast.C_Enum 1) (toInterpValue ()) - | ExtendType_SXTW -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExtendType_SXTW") Interp_ast.Unknown) (Interp_ast.T_id "ExtendType") (Interp_ast.C_Enum 2) (toInterpValue ()) - | ExtendType_SXTX -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExtendType_SXTX") Interp_ast.Unknown) (Interp_ast.T_id "ExtendType") (Interp_ast.C_Enum 3) (toInterpValue ()) - | ExtendType_UXTB -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExtendType_UXTB") Interp_ast.Unknown) (Interp_ast.T_id "ExtendType") (Interp_ast.C_Enum 4) (toInterpValue ()) - | ExtendType_UXTH -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExtendType_UXTH") Interp_ast.Unknown) (Interp_ast.T_id "ExtendType") (Interp_ast.C_Enum 5) (toInterpValue ()) - | ExtendType_UXTW -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExtendType_UXTW") Interp_ast.Unknown) (Interp_ast.T_id "ExtendType") (Interp_ast.C_Enum 6) (toInterpValue ()) - | ExtendType_UXTX -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExtendType_UXTX") Interp_ast.Unknown) (Interp_ast.T_id "ExtendType") (Interp_ast.C_Enum 7) (toInterpValue ()) - end - -let rec ExtendTypeFromInterpValue v = match v with - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExtendType_SXTB") _) _ _ v -> ExtendType_SXTB - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExtendType_SXTH") _) _ _ v -> ExtendType_SXTH - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExtendType_SXTW") _) _ _ v -> ExtendType_SXTW - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExtendType_SXTX") _) _ _ v -> ExtendType_SXTX - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExtendType_UXTB") _) _ _ v -> ExtendType_UXTB - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExtendType_UXTH") _) _ _ v -> ExtendType_UXTH - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExtendType_UXTW") _) _ _ v -> ExtendType_UXTW - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExtendType_UXTX") _) _ _ v -> ExtendType_UXTX - | Interp_ast.V_lit (Interp_ast.L_aux (Interp_ast.L_num n) _) -> - match (natFromInteger n) with - | 0 -> ExtendType_SXTB - | 1 -> ExtendType_SXTH - | 2 -> ExtendType_SXTW - | 3 -> ExtendType_SXTX - | 4 -> ExtendType_UXTB - | 5 -> ExtendType_UXTH - | 6 -> ExtendType_UXTW - | 7 -> ExtendType_UXTX - end - | Interp_ast.V_tuple [v] -> ExtendTypeFromInterpValue v - | v -> failwith ("fromInterpValue ExtendType: unexpected value. " ^ Interp.debug_print_value v) - end - -instance (ToFromInterpValue ExtendType) - let toInterpValue = ExtendTypeToInterpValue - let fromInterpValue = ExtendTypeFromInterpValue -end -let RevOpToInterpValue = function - | RevOp_RBIT -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "RevOp_RBIT") Interp_ast.Unknown) (Interp_ast.T_id "RevOp") (Interp_ast.C_Enum 0) (toInterpValue ()) - | RevOp_REV16 -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "RevOp_REV16") Interp_ast.Unknown) (Interp_ast.T_id "RevOp") (Interp_ast.C_Enum 1) (toInterpValue ()) - | RevOp_REV32 -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "RevOp_REV32") Interp_ast.Unknown) (Interp_ast.T_id "RevOp") (Interp_ast.C_Enum 2) (toInterpValue ()) - | RevOp_REV64 -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "RevOp_REV64") Interp_ast.Unknown) (Interp_ast.T_id "RevOp") (Interp_ast.C_Enum 3) (toInterpValue ()) - end - -let rec RevOpFromInterpValue v = match v with - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "RevOp_RBIT") _) _ _ v -> RevOp_RBIT - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "RevOp_REV16") _) _ _ v -> RevOp_REV16 - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "RevOp_REV32") _) _ _ v -> RevOp_REV32 - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "RevOp_REV64") _) _ _ v -> RevOp_REV64 - | Interp_ast.V_lit (Interp_ast.L_aux (Interp_ast.L_num n) _) -> - match (natFromInteger n) with - | 0 -> RevOp_RBIT - | 1 -> RevOp_REV16 - | 2 -> RevOp_REV32 - | 3 -> RevOp_REV64 - end - | Interp_ast.V_tuple [v] -> RevOpFromInterpValue v - | v -> failwith ("fromInterpValue RevOp: unexpected value. " ^ Interp.debug_print_value v) - end - -instance (ToFromInterpValue RevOp) - let toInterpValue = RevOpToInterpValue - let fromInterpValue = RevOpFromInterpValue -end -let ShiftTypeToInterpValue = function - | ShiftType_LSL -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ShiftType_LSL") Interp_ast.Unknown) (Interp_ast.T_id "ShiftType") (Interp_ast.C_Enum 0) (toInterpValue ()) - | ShiftType_LSR -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ShiftType_LSR") Interp_ast.Unknown) (Interp_ast.T_id "ShiftType") (Interp_ast.C_Enum 1) (toInterpValue ()) - | ShiftType_ASR -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ShiftType_ASR") Interp_ast.Unknown) (Interp_ast.T_id "ShiftType") (Interp_ast.C_Enum 2) (toInterpValue ()) - | ShiftType_ROR -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ShiftType_ROR") Interp_ast.Unknown) (Interp_ast.T_id "ShiftType") (Interp_ast.C_Enum 3) (toInterpValue ()) - end - -let rec ShiftTypeFromInterpValue v = match v with - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ShiftType_LSL") _) _ _ v -> ShiftType_LSL - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ShiftType_LSR") _) _ _ v -> ShiftType_LSR - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ShiftType_ASR") _) _ _ v -> ShiftType_ASR - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ShiftType_ROR") _) _ _ v -> ShiftType_ROR - | Interp_ast.V_lit (Interp_ast.L_aux (Interp_ast.L_num n) _) -> - match (natFromInteger n) with - | 0 -> ShiftType_LSL - | 1 -> ShiftType_LSR - | 2 -> ShiftType_ASR - | 3 -> ShiftType_ROR - end - | Interp_ast.V_tuple [v] -> ShiftTypeFromInterpValue v - | v -> failwith ("fromInterpValue ShiftType: unexpected value. " ^ Interp.debug_print_value v) - end - -instance (ToFromInterpValue ShiftType) - let toInterpValue = ShiftTypeToInterpValue - let fromInterpValue = ShiftTypeFromInterpValue -end -let LogicalOpToInterpValue = function - | LogicalOp_AND -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LogicalOp_AND") Interp_ast.Unknown) (Interp_ast.T_id "LogicalOp") (Interp_ast.C_Enum 0) (toInterpValue ()) - | LogicalOp_EOR -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LogicalOp_EOR") Interp_ast.Unknown) (Interp_ast.T_id "LogicalOp") (Interp_ast.C_Enum 1) (toInterpValue ()) - | LogicalOp_ORR -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LogicalOp_ORR") Interp_ast.Unknown) (Interp_ast.T_id "LogicalOp") (Interp_ast.C_Enum 2) (toInterpValue ()) - end - -let rec LogicalOpFromInterpValue v = match v with - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LogicalOp_AND") _) _ _ v -> LogicalOp_AND - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LogicalOp_EOR") _) _ _ v -> LogicalOp_EOR - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LogicalOp_ORR") _) _ _ v -> LogicalOp_ORR - | Interp_ast.V_lit (Interp_ast.L_aux (Interp_ast.L_num n) _) -> - match (natFromInteger n) with - | 0 -> LogicalOp_AND - | 1 -> LogicalOp_EOR - | 2 -> LogicalOp_ORR - end - | Interp_ast.V_tuple [v] -> LogicalOpFromInterpValue v - | v -> failwith ("fromInterpValue LogicalOp: unexpected value. " ^ Interp.debug_print_value v) - end - -instance (ToFromInterpValue LogicalOp) - let toInterpValue = LogicalOpToInterpValue - let fromInterpValue = LogicalOpFromInterpValue -end -let MemOpToInterpValue = function - | MemOp_LOAD -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MemOp_LOAD") Interp_ast.Unknown) (Interp_ast.T_id "MemOp") (Interp_ast.C_Enum 0) (toInterpValue ()) - | MemOp_STORE -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MemOp_STORE") Interp_ast.Unknown) (Interp_ast.T_id "MemOp") (Interp_ast.C_Enum 1) (toInterpValue ()) - | MemOp_PREFETCH -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MemOp_PREFETCH") Interp_ast.Unknown) (Interp_ast.T_id "MemOp") (Interp_ast.C_Enum 2) (toInterpValue ()) - end - -let rec MemOpFromInterpValue v = match v with - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MemOp_LOAD") _) _ _ v -> MemOp_LOAD - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MemOp_STORE") _) _ _ v -> MemOp_STORE - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MemOp_PREFETCH") _) _ _ v -> MemOp_PREFETCH - | Interp_ast.V_lit (Interp_ast.L_aux (Interp_ast.L_num n) _) -> - match (natFromInteger n) with - | 0 -> MemOp_LOAD - | 1 -> MemOp_STORE - | 2 -> MemOp_PREFETCH - end - | Interp_ast.V_tuple [v] -> MemOpFromInterpValue v - | v -> failwith ("fromInterpValue MemOp: unexpected value. " ^ Interp.debug_print_value v) - end - -instance (ToFromInterpValue MemOp) - let toInterpValue = MemOpToInterpValue - let fromInterpValue = MemOpFromInterpValue -end -let MemBarrierOpToInterpValue = function - | MemBarrierOp_DSB -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MemBarrierOp_DSB") Interp_ast.Unknown) (Interp_ast.T_id "MemBarrierOp") (Interp_ast.C_Enum 0) (toInterpValue ()) - | MemBarrierOp_DMB -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MemBarrierOp_DMB") Interp_ast.Unknown) (Interp_ast.T_id "MemBarrierOp") (Interp_ast.C_Enum 1) (toInterpValue ()) - | MemBarrierOp_ISB -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MemBarrierOp_ISB") Interp_ast.Unknown) (Interp_ast.T_id "MemBarrierOp") (Interp_ast.C_Enum 2) (toInterpValue ()) - end - -let rec MemBarrierOpFromInterpValue v = match v with - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MemBarrierOp_DSB") _) _ _ v -> MemBarrierOp_DSB - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MemBarrierOp_DMB") _) _ _ v -> MemBarrierOp_DMB - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MemBarrierOp_ISB") _) _ _ v -> MemBarrierOp_ISB - | Interp_ast.V_lit (Interp_ast.L_aux (Interp_ast.L_num n) _) -> - match (natFromInteger n) with - | 0 -> MemBarrierOp_DSB - | 1 -> MemBarrierOp_DMB - | 2 -> MemBarrierOp_ISB - end - | Interp_ast.V_tuple [v] -> MemBarrierOpFromInterpValue v - | v -> failwith ("fromInterpValue MemBarrierOp: unexpected value. " ^ Interp.debug_print_value v) - end - -instance (ToFromInterpValue MemBarrierOp) - let toInterpValue = MemBarrierOpToInterpValue - let fromInterpValue = MemBarrierOpFromInterpValue -end -let SystemHintOpToInterpValue = function - | SystemHintOp_NOP -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "SystemHintOp_NOP") Interp_ast.Unknown) (Interp_ast.T_id "SystemHintOp") (Interp_ast.C_Enum 0) (toInterpValue ()) - | SystemHintOp_YIELD -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "SystemHintOp_YIELD") Interp_ast.Unknown) (Interp_ast.T_id "SystemHintOp") (Interp_ast.C_Enum 1) (toInterpValue ()) - | SystemHintOp_WFE -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "SystemHintOp_WFE") Interp_ast.Unknown) (Interp_ast.T_id "SystemHintOp") (Interp_ast.C_Enum 2) (toInterpValue ()) - | SystemHintOp_WFI -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "SystemHintOp_WFI") Interp_ast.Unknown) (Interp_ast.T_id "SystemHintOp") (Interp_ast.C_Enum 3) (toInterpValue ()) - | SystemHintOp_SEV -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "SystemHintOp_SEV") Interp_ast.Unknown) (Interp_ast.T_id "SystemHintOp") (Interp_ast.C_Enum 4) (toInterpValue ()) - | SystemHintOp_SEVL -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "SystemHintOp_SEVL") Interp_ast.Unknown) (Interp_ast.T_id "SystemHintOp") (Interp_ast.C_Enum 5) (toInterpValue ()) - end - -let rec SystemHintOpFromInterpValue v = match v with - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "SystemHintOp_NOP") _) _ _ v -> SystemHintOp_NOP - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "SystemHintOp_YIELD") _) _ _ v -> SystemHintOp_YIELD - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "SystemHintOp_WFE") _) _ _ v -> SystemHintOp_WFE - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "SystemHintOp_WFI") _) _ _ v -> SystemHintOp_WFI - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "SystemHintOp_SEV") _) _ _ v -> SystemHintOp_SEV - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "SystemHintOp_SEVL") _) _ _ v -> SystemHintOp_SEVL - | Interp_ast.V_lit (Interp_ast.L_aux (Interp_ast.L_num n) _) -> - match (natFromInteger n) with - | 0 -> SystemHintOp_NOP - | 1 -> SystemHintOp_YIELD - | 2 -> SystemHintOp_WFE - | 3 -> SystemHintOp_WFI - | 4 -> SystemHintOp_SEV - | 5 -> SystemHintOp_SEVL - end - | Interp_ast.V_tuple [v] -> SystemHintOpFromInterpValue v - | v -> failwith ("fromInterpValue SystemHintOp: unexpected value. " ^ Interp.debug_print_value v) - end - -instance (ToFromInterpValue SystemHintOp) - let toInterpValue = SystemHintOpToInterpValue - let fromInterpValue = SystemHintOpFromInterpValue -end -let PSTATEFieldToInterpValue = function - | PSTATEField_DAIFSet -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "PSTATEField_DAIFSet") Interp_ast.Unknown) (Interp_ast.T_id "PSTATEField") (Interp_ast.C_Enum 0) (toInterpValue ()) - | PSTATEField_DAIFClr -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "PSTATEField_DAIFClr") Interp_ast.Unknown) (Interp_ast.T_id "PSTATEField") (Interp_ast.C_Enum 1) (toInterpValue ()) - | PSTATEField_SP -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "PSTATEField_SP") Interp_ast.Unknown) (Interp_ast.T_id "PSTATEField") (Interp_ast.C_Enum 2) (toInterpValue ()) - end - -let rec PSTATEFieldFromInterpValue v = match v with - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "PSTATEField_DAIFSet") _) _ _ v -> PSTATEField_DAIFSet - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "PSTATEField_DAIFClr") _) _ _ v -> PSTATEField_DAIFClr - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "PSTATEField_SP") _) _ _ v -> PSTATEField_SP - | Interp_ast.V_lit (Interp_ast.L_aux (Interp_ast.L_num n) _) -> - match (natFromInteger n) with - | 0 -> PSTATEField_DAIFSet - | 1 -> PSTATEField_DAIFClr - | 2 -> PSTATEField_SP - end - | Interp_ast.V_tuple [v] -> PSTATEFieldFromInterpValue v - | v -> failwith ("fromInterpValue PSTATEField: unexpected value. " ^ Interp.debug_print_value v) - end - -instance (ToFromInterpValue PSTATEField) - let toInterpValue = PSTATEFieldToInterpValue - let fromInterpValue = PSTATEFieldFromInterpValue -end -let signalValueToInterpValue = function - | LOw -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LOw") Interp_ast.Unknown) (Interp_ast.T_id "signalValue") (Interp_ast.C_Enum 0) (toInterpValue ()) - | HIGH -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "HIGH") Interp_ast.Unknown) (Interp_ast.T_id "signalValue") (Interp_ast.C_Enum 1) (toInterpValue ()) - end - -let rec signalValueFromInterpValue v = match v with - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LOw") _) _ _ v -> LOw - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "HIGH") _) _ _ v -> HIGH - | Interp_ast.V_lit (Interp_ast.L_aux (Interp_ast.L_num n) _) -> - match (natFromInteger n) with - | 0 -> LOw - | 1 -> HIGH - end - | Interp_ast.V_tuple [v] -> signalValueFromInterpValue v - | v -> failwith ("fromInterpValue signalValue: unexpected value. " ^ Interp.debug_print_value v) - end - -instance (ToFromInterpValue signalValue) - let toInterpValue = signalValueToInterpValue - let fromInterpValue = signalValueFromInterpValue -end -let astToInterpValue = function - | Unallocated -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Unallocated") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue ()) - | ImplementationDefinedTestBeginEnd v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ImplementationDefinedTestBeginEnd") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | ImplementationDefinedStopFetching -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ImplementationDefinedStopFetching") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue ()) - | ImplementationDefinedThreadStart -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ImplementationDefinedThreadStart") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue ()) - | TMStart v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "TMStart") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | TMCommit -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "TMCommit") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue ()) - | TMAbort v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "TMAbort") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | TMTest -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "TMTest") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue ()) - | CompareAndBranch v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "CompareAndBranch") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | BranchConditional v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BranchConditional") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | GenerateExceptionEL1 v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "GenerateExceptionEL1") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | GenerateExceptionEL2 v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "GenerateExceptionEL2") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | GenerateExceptionEL3 v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "GenerateExceptionEL3") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | DebugBreakpoint v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "DebugBreakpoint") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | ExternalDebugBreakpoint -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExternalDebugBreakpoint") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue ()) - | DebugSwitchToExceptionLevel v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "DebugSwitchToExceptionLevel") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | MoveSystemImmediate v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MoveSystemImmediate") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | Hint v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Hint") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | ClearExclusiveMonitor v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ClearExclusiveMonitor") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | Barrier v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Barrier") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | System v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "System") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | MoveSystemRegister v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MoveSystemRegister") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | TestBitAndBranch v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "TestBitAndBranch") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | BranchImmediate v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BranchImmediate") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | BranchRegister v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BranchRegister") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | ExceptionReturn -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExceptionReturn") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue ()) - | DebugRestorePState -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "DebugRestorePState") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue ()) - | LoadLiteral v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LoadLiteral") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | LoadStoreAcqExc v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LoadStoreAcqExc") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | LoadStorePairNonTemp v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LoadStorePairNonTemp") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | LoadImmediate v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LoadImmediate") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | LoadRegister v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LoadRegister") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | LoadStorePair v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LoadStorePair") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | AddSubImmediate v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AddSubImmediate") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | BitfieldMove v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BitfieldMove") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | ExtractRegister v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExtractRegister") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | LogicalImmediate v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LogicalImmediate") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | MoveWide v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MoveWide") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | Address v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Address") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | AddSubExtendRegister v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AddSubExtendRegister") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | AddSubShiftedRegister v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AddSubShiftedRegister") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | AddSubCarry v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AddSubCarry") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | ConditionalCompareImmediate v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ConditionalCompareImmediate") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | ConditionalCompareRegister v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ConditionalCompareRegister") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | ConditionalSelect v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ConditionalSelect") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | Reverse v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Reverse") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | CountLeading v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "CountLeading") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | Division v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Division") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | Shift v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Shift") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | CRC v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "CRC") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | MultiplyAddSub v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MultiplyAddSub") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | MultiplyAddSubLong v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MultiplyAddSubLong") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | MultiplyHigh v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MultiplyHigh") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - | LogicalShiftedRegister v -> Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LogicalShiftedRegister") Interp_ast.Unknown) (Interp_ast.T_id "ast") Interp_ast.C_Union (toInterpValue v) - end - -let rec astFromInterpValue v = match v with - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Unallocated") _) _ _ v -> Unallocated - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ImplementationDefinedTestBeginEnd") _) _ _ v -> ImplementationDefinedTestBeginEnd (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ImplementationDefinedStopFetching") _) _ _ v -> ImplementationDefinedStopFetching - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ImplementationDefinedThreadStart") _) _ _ v -> ImplementationDefinedThreadStart - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "TMStart") _) _ _ v -> TMStart (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "TMCommit") _) _ _ v -> TMCommit - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "TMAbort") _) _ _ v -> TMAbort (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "TMTest") _) _ _ v -> TMTest - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "CompareAndBranch") _) _ _ v -> CompareAndBranch (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BranchConditional") _) _ _ v -> BranchConditional (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "GenerateExceptionEL1") _) _ _ v -> GenerateExceptionEL1 (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "GenerateExceptionEL2") _) _ _ v -> GenerateExceptionEL2 (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "GenerateExceptionEL3") _) _ _ v -> GenerateExceptionEL3 (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "DebugBreakpoint") _) _ _ v -> DebugBreakpoint (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExternalDebugBreakpoint") _) _ _ v -> ExternalDebugBreakpoint - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "DebugSwitchToExceptionLevel") _) _ _ v -> DebugSwitchToExceptionLevel (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MoveSystemImmediate") _) _ _ v -> MoveSystemImmediate (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Hint") _) _ _ v -> Hint (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ClearExclusiveMonitor") _) _ _ v -> ClearExclusiveMonitor (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Barrier") _) _ _ v -> Barrier (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "System") _) _ _ v -> System (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MoveSystemRegister") _) _ _ v -> MoveSystemRegister (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "TestBitAndBranch") _) _ _ v -> TestBitAndBranch (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BranchImmediate") _) _ _ v -> BranchImmediate (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BranchRegister") _) _ _ v -> BranchRegister (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExceptionReturn") _) _ _ v -> ExceptionReturn - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "DebugRestorePState") _) _ _ v -> DebugRestorePState - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LoadLiteral") _) _ _ v -> LoadLiteral (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LoadStoreAcqExc") _) _ _ v -> LoadStoreAcqExc (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LoadStorePairNonTemp") _) _ _ v -> LoadStorePairNonTemp (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LoadImmediate") _) _ _ v -> LoadImmediate (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LoadRegister") _) _ _ v -> LoadRegister (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LoadStorePair") _) _ _ v -> LoadStorePair (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AddSubImmediate") _) _ _ v -> AddSubImmediate (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "BitfieldMove") _) _ _ v -> BitfieldMove (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ExtractRegister") _) _ _ v -> ExtractRegister (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LogicalImmediate") _) _ _ v -> LogicalImmediate (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MoveWide") _) _ _ v -> MoveWide (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Address") _) _ _ v -> Address (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AddSubExtendRegister") _) _ _ v -> AddSubExtendRegister (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AddSubShiftedRegister") _) _ _ v -> AddSubShiftedRegister (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "AddSubCarry") _) _ _ v -> AddSubCarry (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ConditionalCompareImmediate") _) _ _ v -> ConditionalCompareImmediate (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ConditionalCompareRegister") _) _ _ v -> ConditionalCompareRegister (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "ConditionalSelect") _) _ _ v -> ConditionalSelect (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Reverse") _) _ _ v -> Reverse (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "CountLeading") _) _ _ v -> CountLeading (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Division") _) _ _ v -> Division (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "Shift") _) _ _ v -> Shift (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "CRC") _) _ _ v -> CRC (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MultiplyAddSub") _) _ _ v -> MultiplyAddSub (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MultiplyAddSubLong") _) _ _ v -> MultiplyAddSubLong (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "MultiplyHigh") _) _ _ v -> MultiplyHigh (fromInterpValue v) - | Interp_ast.V_ctor (Interp_ast.Id_aux (Interp_ast.Id "LogicalShiftedRegister") _) _ _ v -> LogicalShiftedRegister (fromInterpValue v) - | Interp_ast.V_tuple [v] -> astFromInterpValue v - | v -> failwith ("fromInterpValue ast: unexpected value. " ^ Interp.debug_print_value v) - end - -instance (ToFromInterpValue ast) - let toInterpValue = astToInterpValue - let fromInterpValue = astFromInterpValue -end diff --git a/aarch64_small/prelude.sail b/aarch64_small/prelude.sail index e16e0a98..2516f32c 100644 --- a/aarch64_small/prelude.sail +++ b/aarch64_small/prelude.sail @@ -22,13 +22,20 @@ infix 7 >> infix 7 << infix 7 ^^ -val operator >> = "shift_bits_right" : forall 'n 'm. (bits('n), bits('m)) -> bits('n) -val operator << = "shift_bits_left" : forall 'n 'm. (bits('n), bits('m)) -> bits('n) +val shift_bits_left = "shift_bits_left" : forall 'n 'm. (bits('n), bits('m)) -> bits('n) +val shift_bits_right = "shift_bits_right" : forall 'n 'm. (bits('n), bits('m)) -> bits('n) +val shift_left = "shiftl" : forall 'm. (bits('m), int) -> bits('m) +val shift_right = "shiftr" : forall 'm. (bits('m), int) -> bits('m) + +overload operator << = {shift_bits_left, shift_left} +overload operator >> = {shift_bits_right, shift_right} + val replicate_bits = "replicate_bits" : forall 'n 'm. (bits('n), atom('m)) -> bits('n * 'm) val operator ^^ = "replicate_bits" : forall 'n 'm. (bits('n), atom('m)) -> bits('n * 'm) + infix 4 <_s infix 4 >=_s infix 4 <_u @@ -74,6 +81,10 @@ val and_bits = {c:"and_bits", _: "and_vec"} : forall 'n. (bits('n), bits('n)) -> overload operator & = {and_bool, and_bits} +val or_bits = {c:"or_bits", _: "or_vec"} : forall 'n. (bits('n), bits('n)) -> bits('n) + +overload operator | = {or_bool, or_bits} + val not_vec = {c:"not_bits", _:"not_vec"} : forall 'n. bits('n) -> bits('n) @@ -115,3 +126,19 @@ val xor_vec = {c: "xor_bits", _: "xor_vec"} : forall 'n. (bits('n), bits('n)) -> val int_power = {ocaml: "int_power", lem: "pow", coq: "pow", c: "pow_int"} : (int, int) -> int overload operator ^ = {xor_vec, int_power, concat_str} + + +val mask : forall 'l 'm, 'l >= 0 & 'm >= 0. (implicit('l), bits('m)) -> bits('l) + + +/* put this val spec into Sail lib for "%" */ + +val mod = { + smt: "mod", + ocaml: "modulus", + lem: "integerMod", + c: "tmod_int", + coq: "Z.rem" +} : forall 'M 'N. (atom('M), atom('N)) -> {'O, 0 <= 'O & 'O < N . atom('O)} + +/* overload operator % = {mod_int} */
\ No newline at end of file |
